0

我正在 Windows 7 下使用 OpenCV、Qt creator 和 MinGW 开发立体视觉应用程序。在以前的版本 OpenCV 2.0 中,我有一个带有大量 SpinBoxes 的 Qt 主小部件来控制 OpenCV 立体匹配过程,以及由 OpenCV 例程创建的三个窗口显示左视图、右视图和图像深度重建,一切都很顺利。现在我转向 OpenCV 2.2,顺便说一句,它似乎好多了,但我注意到 OpenCV 创建的窗口实际上覆盖了 Qt 主小部件,因此无法与之交互。显而易见的解决方案是根本不使用 OpenCV GUI,将 CvMat 图像转换为 IplImages,然后转换为 QImage,以便在 Qt 小部件中显示它。但这并不容易......我尝试使用 IplImageToQImage 方法,但由于某种原因它崩溃了。

4

2 回答 2

2

我对 OpenCV 2.2 有一个类似的问题,不确定它是否正是你所拥有的:支持 Qt 的 HighGUI 创建了它自己的 QApplication,如果你创建了自己的 QApplication,这将不起作用。我发布了一个包含补丁的错误报告。从那以后我一直在使用这个补丁,没有任何问题(Windows、VS2008、Qt 4.7)。见https://code.ros.org/trac/opencv/ticket/919

于 2011-05-21T02:49:52.673 回答
0

我不确定这与您的问题有多相关,而且我对 openCV 还很陌生,但我将 Mat 数据直接传递给 QImage,所以我没有任何与 openCV 相关的崩溃问题。(我在 OSX 的 QT4.7 上使用 2.2)

QImage imgToDisp ( (uchar*) Mat.data, Mat.cols, Mat.rows, Mat.step, QImage::Format_XXX );

希望这对你有用。

于 2011-03-19T00:19:47.873 回答