Qt GUI与OpenCV2.2 imageshow之间的干扰问题

Qt GUI与OpenCV2.2 imageshow之间的干扰问题,qt,opencv,widget,interaction,Qt,Opencv,Widget,Interaction,我正在Windows7下使用OpenCV、QtCreator和MinGW开发一个立体视觉应用程序。在以前的OpenCV 2.0版本中,我有一个Qt主窗口小部件,带有大量的旋转框来控制OpenCV立体匹配过程,还有三个由OpenCV例程创建的窗口来显示左视图、右视图和图像深度重建,一切都很顺利。 现在我转到OpenCV 2.2,顺便说一句,它看起来好多了,但我注意到OpenCV创建的窗口实际上覆盖了Qt主窗口小部件,因此不可能与之交互。显而易见的解决方案是根本不使用OpenCV GUI,而是将Cv

我正在Windows7下使用OpenCV、QtCreator和MinGW开发一个立体视觉应用程序。在以前的OpenCV 2.0版本中,我有一个Qt主窗口小部件,带有大量的旋转框来控制OpenCV立体匹配过程,还有三个由OpenCV例程创建的窗口来显示左视图、右视图和图像深度重建,一切都很顺利。 现在我转到OpenCV 2.2,顺便说一句,它看起来好多了,但我注意到OpenCV创建的窗口实际上覆盖了Qt主窗口小部件,因此不可能与之交互。显而易见的解决方案是根本不使用OpenCV GUI,而是将CvMat图像转换为IplImages,然后再转换为QImage,以便在Qt小部件中使用它。但这并不是那么容易…我尝试使用IplImageToQImage from的方法,但由于某种原因它崩溃了。
因此,在深入研究这一难题之前,我想知道是否有一些简单的方法可以避免OpenCV将注意力集中在自己的窗口上,就像在2.0版中发生的那样……谢谢

我不确定这与您的问题有多大关系,我对openCV非常陌生,但我会将Mat数据直接传递给QImage,这样我就不会对openCV产生任何崩溃问题。(我在OSX的QT4.7上使用2.2)


希望这对您有用。

我在OpenCV 2.2中也遇到了类似的问题,不确定它是否就是您的问题:支持Qt的HighGUI创建了自己的QApplication,如果您创建了自己的QApplication,这将不起作用。我发布了一个bug报告,其中包括一个补丁。从那以后,我一直在使用这个补丁,没有任何问题(Windows、VS2008、Qt4.7)。请参见

我似乎在图像转换中做到了,但是使用了这个片段
QImage imgToDisp ( (uchar*) Mat.data, Mat.cols, Mat.rows, Mat.step, QImage::Format_XXX );