问题标签 [highgui]

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 投票
0 回答
1989 浏览

opencv - 将 HWND 分配给 OpenCV 命名窗口

我有一个win32来自应用程序的子窗口句柄win32,我想在该子窗口上绘制我的 openCV 内容。有没有办法设置HWND一个 openCV 命名窗口。我只找到了一个函数cvGetWindowHandle来获取已创建的命名窗口的 HWND,但没有找到一个等效的函数来设置新命名窗口的 HWND。

关于如何做到这一点的任何指示?

谢谢!

0 投票
0 回答
1236 浏览

java - UnsatisfiedLinkError: org.opencv.highgui.Highgui.imread 处理图像时

尝试运行代码时出现 UnsatisfiedLinkError。所以我把这两个类打包成一个.jar

亮度插件

亮度增强

}

然后出现错误 UnsatisfiedLinkError,当我尝试将 BrightnessEnhancement 实现到图片中时。

这是实现增强功能的代码:

和错误

截图在这里:http: //imgur.com/V6Xct7K 当我按下按钮时发生错误。

我读过其他帖子,一个解决方案说要添加 System.loadLibrary(Core.NATIVE_LIBRARY_NAME); 我已经添加了代码,但问题仍然存在。如果有人能解决这个问题,我将不胜感激。谢谢!

PS 1. 如果我没有把它们放进罐子里,它可以工作,但我需要它们都可以从罐子里加载。2. 即使从.jar 加载了函数addEnhancement,它也适用于包在项目中的情况。

0 投票
1 回答
2217 浏览

c++ - Ubuntu 14.04 LTS:如何安装 OpenCV highgui 模块

我正在尝试安装 opencv 的 highgui 模块,以便让 Qt Creator 项目正常运行。然而,继续搜索互联网并没有产生任何结果。

该项目最初配置为使用 2.3 版本的 highgui 运行,但返回缺少 libopencv_highgui.so.2.3 的错误。我在网上搜索了正确安装此模块的方法,但我了解到它的许多依赖项与 highgui 的 2.3 版本一样过时,因此安装它相当困难。我已经设法使用 sudo apt-get 安装了 2.4 版本的 highgui,但是以这种方式安装它不会创建任何 .so 文件。我似乎很难得到的是它们何时/如何/为什么被创建,以及它们何时/如何/为什么不被创建。如果我无法获得正确的文件,我该如何制作它以便 Qt Creator 寻找可能实际存在的不同文件?对于第二个问题,我假设我更改了 .pro 文件中的库,但我没有取得太大的成功。

0 投票
1 回答
525 浏览

c++ - ld 找不到 opencv highgui 符号(未定义参考)

我有一个程序在机器上正确编译和工作,我试图在另一台类似的机器上运行它:相同的操作系统(Debian Stretch),安装相同的相关软件包,以及相同版本的 opencv(libopencv-dev 版本:2.4.9.1 +dfsg-2)。但是,在第二台机器上,ld 无法链接 opencv highgui 符号:

安装了所有相应的软件包(libopencv-* 和 libhighgui-*)。ldconfig 找到 .so 文件:

并且文件存在:

整个代码中有很多对 opencv 的引用,但由于某种原因,highgui 函数是唯一会造成麻烦的函数。

在我的代码中,我包含了 C 头文件(出于某种原因,它可以包含 C++ API):

并且使用 C++ 头文件不会改变任何东西。

我没主意了。任何想法?

编辑: pkg-config --libs opencv 的输出:

0 投票
0 回答
477 浏览

c++ - 无法处理 cv::imshow gtk 警告

在无头测试机(Travis CI)上,使用时cv::imshow出现程序崩溃并显示:

该消息似乎很正常。但我无法成功捕捉到错误!

我尝试使用该代码:

...甚至与

没有成功。

任何帮助都会...帮助!

谢谢


编辑: 我在这里找到了一个解决方法:https ://github.com/itseez-academy/itseez-ws-2016-practice/blob/master/.travis.yml 使用 xvfb 为了不让cv::imshow(或cv::namedWindow)提高“不显示”错误...实际上,它并不能真正解决我无法捕获 gtk 错误的问题。

0 投票
0 回答
629 浏览

opencv - ARM 的 OpenCV 交叉编译:highgui 错误 (GTK2+)

我已经从 Zynq (ARM) 的源代码构建了 OpenCV 库。但是,OpenCV 也是在同一台 PC 上构建的 x86(PC)。首先,我可以在我的 PC 上执行每个示例而没有任何问题。其次,我能够交叉编译和执行 arm 目标上的每个程序,除了那些包括 highgui 库的程序,我收到以下错误:

是的,我已经浏览了该问题的解决方案论坛,但有些答案不清楚,我想了解更多细节。我已经为 ARM 构建 WITH_GTK 和 GTK2 创建了 OpenCV 构建。还安装了 libgtk2.0-dev、pkg-config

但是,从本论坛的另一个主题中,我了解到问题在于设置 pkg-config:http ://answers.opencv.org/question/57945/opencv-gui-with-gtk-2-solved/

Q) 基于上述解决方案,PKG_CONFIG_PATH 的路径是在你的 ARM 平台(Zynq)还是在 PC 平台(Ubuntu PC)上设置的?因为,它在 ARM 平台上已经设置为描述的路径,而在 PC Linux 平台上是不同的。当前路径的更多详细信息如下所示:

如果必须在我的 PC 上将 pkg-config 更改为 /usr/lib/arm-linux-gnueabihf/pkgconfig/ 位置,我在该位置找不到任何 pkg-config。我应该通过从目标复制文件夹来创建一个新文件夹吗?

Q) 另外,GTK 库是否也应该安装在目标嵌入式系统 (ARM) 中?

希望有人可以帮助我解决这个问题,因为我已经用许多不同的解决方案重建了无数次库,但无济于事。谢谢!

0 投票
1 回答
1377 浏览

python - OpenCV 无法从视频捕获设备读取

长期聆听者,第一次提问。情况如下:

我正在尝试使用 .read() 功能从多个 opencv (python) 视频捕获设备中读取帧。使用 opencv 2.4.11 时随机出现以下错误:

HIGHGUI 错误:V4L2:OpenCV 不支持传入图像的像素格式无法停止流。:错误的文件描述符

此错误似乎发生在 .read() 调用中,甚至将调用包装在 try/except 中也无法捕获问题,因为 .read() 调用即使作为异常也不会返回。

当尝试更新到最新版本的 ocv(3.2.0) 时,.read() 无法返回任何帧。

附加信息:机器:Linux Mint 18.1 摄像头:https ://www.amazon.com/ELP-megapixel-surveillance-machine-monitor/dp/B015FIKTZC Python:2.7

更新:代码:

以下发生在 videoCamera 类中,该类包含最初由以下内容制作的视频对象:self.video = cv2.VideoCapture(self.cameraSerialAddress)

然后对这个类进行 getFrame() 调用,在这个函数中如下:try: retVal,frame = self.video.read()

谢谢你的帮助,凯尔

0 投票
1 回答
777 浏览

java - OpenCV从一个目录中读取多个图像(java)

我正在尝试使用 OpenCV 从文件中读取多个图像。我目前的代码一次只能读取一张图片

我想将图像加载到一个数组中,然后使用 OpenCV 读取它们。我不确定如何进行。任何帮助,将不胜感激。

0 投票
0 回答
192 浏览

opencv - OpenCV / HighGUI 为每个附加对象绘制新窗口

我正在学习 Kaehler & Bradski 的 Learning OpenCV 3。我已根据http://www.oreilly.com/catalog/errata.csp?isbn=0636920044765对此代码应用了所有勘误表修复。

预期行为:轨迹栏应附加到 namedWindow“Example2-4”,然后应在同一窗口中绘制来自视频文件的帧(通过命令行参数指定)。

实际行为:在名为“Example2-4”的一个窗口中绘制轨迹栏,然后在名为“Example2-4”的第二个窗口中绘制帧。关闭任一窗口都会导致程序挂起。否则行为是正确的。

平台:Windows 10、x64、OpenCV 3.3

编辑1:

我尝试在 main() 的顶部添加一个字符串文字:

并用 window_name 替换“Example2-4”的每个实例。这并没有改变行为。

编辑2:

这段代码是我第一次尝试添加交互式小部件,但在前面的示例中向窗口添加图像和视频帧也会生成两个同名的窗口。我怀疑我遇到了配置问题,但我仍然不知道如何解决它。

编辑 3:我添加了用于演示问题行为的最简单程序的代码,并更改了这篇文章的标题以更好地描述它。

代码:

导致问题行为的最简单的代码。通过命令行参数获取图像:

0 投票
1 回答
145 浏览

c++ - 是否可以使用 cv::waitkey(0) 读取 unicode 值

我正在尝试使用 Mac 键盘上的 waitkey() 函数读取按下的阿拉伯键的 unicode 值,该函数仅读取 C++ 中键的 ASCII 码。

是否有任何技巧可以映射该键值?