每当我使用OpenCV的cv::imshow
和Qt的QApplication
时,我都会收到此错误:
Gtk-WARNING **: gtk_disable_setlocale() must be called before gtk_init()
我做了一些搜索,最后阅读了越来越多关于我不完全理解的内容,但对OpenCV和GTK +如何连接有了一些想法。而且由于警告显然是在某事之前调用某些内容的指令,因此我添加了gtk.h
并调用gtk_disable_setlocale()
,但结果却出现了更多错误。
尽管警告没有任何问题,我的代码仍在运行,但它确实让我感到困扰!我认为在警告背后,程序员应该理解一些基本的东西。那么也许有人可以通过高级新手可以理解的方式来解释整个事情? ;)
修改
我正在使用ubuntu 12.10,OpenCV 2.4,GTK 2.24.13和qmake -v
告诉我
QMake version 2.01a
Using Qt version 4.8.3 in /usr/lib/x86_64-linux-gnu
答案 0 :(得分:4)
如果您打算使用Qt窗口系统,最好避免在Qt窗口旁边创建OpenCV窗口。
将IplImage
或cv::Mat
转换为QImage
并在Qt窗口中绘制。 Check cvImage,一个简单的Qt / OpenCV示例,在Qt窗口上显示加载了OpenCV的图像,并根据鼠标坐标显示像素的RGB值。