问题标签 [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.

0 投票
1 回答
260 浏览

javacv - 在 JavaCV 中找不到“cvLoad”所在的包?

我尝试了一个用于人脸检测的示例代码,但cvLoad没有找到该方法,即使我导入了org.bytedeco.javacpp.opencv_objdetect.*

Maven依赖:

帮助?

0 投票
0 回答
208 浏览

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 -

结果是:

有人可以指导我,我应该如何在这里进行。

0 投票
1 回答
169 浏览

java - JavaCPP 在功能消歧方面失败

我正在使用JavaCPP为 C++ 项目实现 Java 包装器。我已经为所有自定义类型定义了映射,但是我正在努力调用将std::sort_heap()函数作为参数的函数。

这是 C++ 代码中的函数调用:

comparePairs在此文件中声明如下:

当我尝试使用 JavaCPP(使用JavaCPP Maven 插件)运行它时,我收到此错误:

更新:问题似乎是由于compairePairs()另一个文件中声明了另一个签名函数略有不同的事实。考虑到每个compairePairs()函数只在同一个文件中调用,C++ 编译器可以很好地消除它们的歧义。然而,JavaCPP 似乎以某种方式在这种歧义上失败了。

这是其他类型映射的声明方式:

因此问题是:为什么 JavaCPP 无法消除重载函数的歧义,我该如何解决?

注意:C++ 代码是第三方项目,因此不能更改 C++ 代码。

更新:问题似乎是由于compairPairs()在 C++ 代码中(在两个不同的文件中)声明了两次具有不同签名的函数。

0 投票
0 回答
104 浏览

scala - Spark Tesseract UnsatisfiedLinkError

我一直在尝试使用 tesseract 使用 spark 并遇到以下问题。我尝试过使用多个版本的 javacpp 但仍然没有运气。

当我在这里创建一个 api 是错误

这是我使用的依赖项

报告了类似的问题,但 java 但在 spark 中找不到与部署相关的任何内容

0 投票
1 回答
33 浏览

java - 在 Win 10 的命令行中使用 Java 开关

似乎找不到答案,所以有时间在这里问

我正在尝试测试绕过 JavaCPP 的内存限制(如果没有另外说明,则死在 1Gb)

无论如何,这种命令在 Linux 上运行良好

在 Windows 10 上尝试同样的方法给了我这个

错误:无法找到或加载主类 .bytedeco.javacpp.maxbytes=8G

Win10不是winderful吗?:)

请注意,真正的目标是一个因 OOM 错误而崩溃的商业应用程序 - 只是试图让它正常工作

0 投票
1 回答
528 浏览

java - 是否可以在 pom 中为 javacpp-preset 定义环境?

是否可以在 pom.xml 文件中为 javacpp-presets (opencv-platform) 定义目标环境?我知道您可以-Djavacpp.platform在执行时设置属性mvn clean install。这将激活正确的 Maven 配置文件,并且不会将其他系统库添加到最终的 jar 中。但是有没有机会直接在pom中定义平台来避免执行maven时的-D参数呢?

谢谢!

0 投票
1 回答
109 浏览

leptonica - JavaCPP Leptonica:如何清除 pixClone 句柄的内存

到目前为止,我一直使用pixDestroy来清理我的 JavaCPP/Leptonica 应用程序中的 PIX 对象。然而,我最近注意到一个奇怪的内存泄漏问题,我追踪到 Leptonica 函数在内部返回一个 pixClone 结果。我设法通过使用以下简单测试重现了该问题:

当达到 Thread.sleep 时,Windows 任务管理器中的 RAM 内存使用量(不是堆大小)已增加到大约 1GB,并且在睡眠结束和测试完成之前不会释放。

查看pixClone的文档,我们看到它实际上创建了现有 PIX 的句柄:

笔记:

  1. “克隆”只是现有像素的句柄(ptr)。它的实现是因为 (a) 图像可能很大,因此复制成本很高,并且 (b) 需要使用简单的策略对数据结构进行额外的处理,以避免双重释放和内存泄漏。Pix 是引用计数的。pixClone() 的副作用是引用计数增加 1。

  2. 要使用的协议是: (a) 每当您想要一个现有图像的新句柄时,调用 pixClone(),它只会增加一个引用计数。(b) 始终在所有句柄上调用 pixDestroy()。这会减少引用计数,使句柄为空,并且仅在对所有句柄调用 pixDestroy() 时才销毁 pix。

如果我理解正确,我确实在所有句柄上调用 pixDestroy,所以引用计数应该达到零,因此 PIX 应该被销毁。显然,情况并非如此。有人可以告诉我我做错了什么吗?提前致谢!

0 投票
0 回答
48 浏览

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) },

那么如何获得推力::对第一个和第二个值?

0 投票
0 回答
270 浏览

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

0 投票
1 回答
272 浏览

java - JavaCV FFmpegFrameFilter 不适用于 fps 过滤器

我正在尝试使用 FFmpegFrameFilter 和 JavaCV 的 -grabber 更改视频的帧速率。但是,filter.pull();始终返回 null。

我基本上尝试了拉和推框架的所有组合,但似乎没有任何效果。

这是我的代码:

我最好的猜测是我给出pushImage(...)了错误的论点,因为我不确定第一个论点n应该是什么。