问题标签 [javacpp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javacv - 在 JavaCV 中找不到“cvLoad”所在的包?
我尝试了一个用于人脸检测的示例代码,但cvLoad
没有找到该方法,即使我导入了org.bytedeco.javacpp.opencv_objdetect.*
:
Maven依赖:
帮助?
java - ffmpeg:尝试访问 Ebur128Context->integrated_loudness 但不成功
[FFMPEG] 尝试访问 Ebur128Context->integrated_loudness 但不成功
我正在尝试在音频文件上运行 ebur128Filter 。类似于做[ http://ffmpeg.org/doxygen/2.6/f__ebur128_8c_source.html#l00135]
ffmpeg -i sample.wav -filter_complex ebur128=peak=true -f null -
结果是:
有人可以指导我,我应该如何在这里进行。
java - JavaCPP 在功能消歧方面失败
我正在使用JavaCPP为 C++ 项目实现 Java 包装器。我已经为所有自定义类型定义了映射,但是我正在努力调用将std::sort_heap()
函数作为参数的函数。
这是 C++ 代码中的函数调用:
comparePairs
在此文件中声明如下:
当我尝试使用 JavaCPP(使用JavaCPP Maven 插件)运行它时,我收到此错误:
更新:问题似乎是由于compairePairs()
另一个文件中声明了另一个签名函数略有不同的事实。考虑到每个compairePairs()
函数只在同一个文件中调用,C++ 编译器可以很好地消除它们的歧义。然而,JavaCPP 似乎以某种方式在这种歧义上失败了。
这是其他类型映射的声明方式:
因此问题是:为什么 JavaCPP 无法消除重载函数的歧义,我该如何解决?
注意:C++ 代码是第三方项目,因此不能更改 C++ 代码。
更新:问题似乎是由于compairPairs()
在 C++ 代码中(在两个不同的文件中)声明了两次具有不同签名的函数。
scala - Spark Tesseract UnsatisfiedLinkError
我一直在尝试使用 tesseract 使用 spark 并遇到以下问题。我尝试过使用多个版本的 javacpp 但仍然没有运气。
当我在这里创建一个 api 是错误
这是我使用的依赖项
报告了类似的问题,但 java 但在 spark 中找不到与部署相关的任何内容
java - 在 Win 10 的命令行中使用 Java 开关
似乎找不到答案,所以有时间在这里问
我正在尝试测试绕过 JavaCPP 的内存限制(如果没有另外说明,则死在 1Gb)
无论如何,这种命令在 Linux 上运行良好
在 Windows 10 上尝试同样的方法给了我这个
错误:无法找到或加载主类 .bytedeco.javacpp.maxbytes=8G
Win10不是winderful吗?:)
请注意,真正的目标是一个因 OOM 错误而崩溃的商业应用程序 - 只是试图让它正常工作
java - 是否可以在 pom 中为 javacpp-preset 定义环境?
是否可以在 pom.xml 文件中为 javacpp-presets (opencv-platform) 定义目标环境?我知道您可以-Djavacpp.platform
在执行时设置属性mvn clean install
。这将激活正确的 Maven 配置文件,并且不会将其他系统库添加到最终的 jar 中。但是有没有机会直接在pom中定义平台来避免执行maven时的-D参数呢?
谢谢!
leptonica - JavaCPP Leptonica:如何清除 pixClone 句柄的内存
到目前为止,我一直使用pixDestroy来清理我的 JavaCPP/Leptonica 应用程序中的 PIX 对象。然而,我最近注意到一个奇怪的内存泄漏问题,我追踪到 Leptonica 函数在内部返回一个 pixClone 结果。我设法通过使用以下简单测试重现了该问题:
当达到 Thread.sleep 时,Windows 任务管理器中的 RAM 内存使用量(不是堆大小)已增加到大约 1GB,并且在睡眠结束和测试完成之前不会释放。
查看pixClone的文档,我们看到它实际上创建了现有 PIX 的句柄:
笔记:
“克隆”只是现有像素的句柄(ptr)。它的实现是因为 (a) 图像可能很大,因此复制成本很高,并且 (b) 需要使用简单的策略对数据结构进行额外的处理,以避免双重释放和内存泄漏。Pix 是引用计数的。pixClone() 的副作用是引用计数增加 1。
要使用的协议是: (a) 每当您想要一个现有图像的新句柄时,调用 pixClone(),它只会增加一个引用计数。(b) 始终在所有句柄上调用 pixDestroy()。这会减少引用计数,使句柄为空,并且仅在对所有句柄调用 pixDestroy() 时才销毁 pix。
如果我理解正确,我确实在所有句柄上调用 pixDestroy,所以引用计数应该达到零,因此 PIX 应该被销毁。显然,情况并非如此。有人可以告诉我我做错了什么吗?提前致谢!
thrust - 如何获得推力::配对第一次和第二次使用javacpp
从https://github.com/bytedeco/javacpp/wiki/Interface-Thrust-and-CUDA,我编写了thrust java 代码。struct 字段默认是公共的,但我使用 first() 方法获取推力::pair 的第一个字段值,发生错误。
错误:明显调用括号前的表达式必须具有(指向)函数类型
错误:宏“offsetof”传递了 3 个参数,但只需要 2 { sizeof(thrust::pair), offsetof(thrust::pair, first) },
那么如何获得推力::对第一个和第二个值?
java - 如何在 Android 上的 OpenCV DNN 中在神经网络上注册新层
我正在使用 Kotlin 在 Android 中开发基于 OpenCV 的边缘检测包。我已经导入了OpenCV Java CPP Presets Package。我正在使用 DNN 模块。
我必须注册一个新层来完成我的模型,例如https://github.com/legolas123/cv-tricks.com/blob/master/OpenCV/Edge_detection/edge.py第 42 行。
该包提到以下行
此外,在将新层用于网络之前,您必须使用 REF 之一注册您的层:dnnLayerFactory“LayerFactory”宏。
请问,有人可以解释如何在 Kotlin 中做到这一点吗?
在 CPP 中,可以使用以下 MACROS https://docs.opencv.org/master/df/d8c/layer_8details_8hpp.html#a7e8d9c0c5849b6a081ba2a84845f3dac
java - JavaCV FFmpegFrameFilter 不适用于 fps 过滤器
我正在尝试使用 FFmpegFrameFilter 和 JavaCV 的 -grabber 更改视频的帧速率。但是,filter.pull();
始终返回 null。
我基本上尝试了拉和推框架的所有组合,但似乎没有任何效果。
这是我的代码:
我最好的猜测是我给出pushImage(...)
了错误的论点,因为我不确定第一个论点n
应该是什么。