LE:误解了问题
highgui 模块使用WITH_QT 选项来使用qt 创建窗口,因此无论如何设置WITH_QT 选项,QImage 到cv::Mat 的转换(反之亦然)都将起作用。
首先需要澄清一些:你不是用 Qt 编译 OpenCV,Qt 不是编译器,所以你不能用它编译任何东西。Qt 是一个 C++ 库(之所以称为 A 是framework因为它对应用程序源代码强加了一些设计规则,但基本上它是一个 C++ 库,就像 OpenCV 一样)。
现在,在 C++ 世界*中,要一起使用某些库,您需要使用相同的编译器(在某些情况下甚至相同的编译器设置)构建这些库,因此必须决定要使用哪个 C++ 编译器并构建 Qt 和 OpenCV使用不一定由您构建的相同编译器,可以从他们的网站获取二进制文件。
如果您想使用 MinGW,则需要使用 MinGW 编译器构建 OpenCV,因为 OpenCV(至少版本 2410)仅使用 Visual C++ 版本 10、11、12 进行构建 - 这意味着 Visual Studio 2010、2012 和 2013。
因此,如果您决定使用某些 Visual Studio 版本,根据您选择的版本,您可能可以将 Qt 与 OpenCV 一起使用,而不必自己构建,但如果您想要 MinGW 编译器,则需要使用 MinGW 构建 OpenCV。
*如果您的库仅导出 C 接口,您可以逃脱它,但 Qt 和最新 OpenCV 版本都不是这种情况。//如果您想了解更多详细信息,请使用您最喜欢的互联网搜索引擎来搜索:c++ binary compatibility和或c++ abi
您希望使用 Qt 编译 OpenCV 至少有两个原因:
imshow如果没有WITH_QT,您只有一个光秃秃的窗口,没有这些功能(并且您还会错过额外的按钮,例如“保存图片”),这使得图像处理调试更加繁琐。
| 归档时间: |
|
| 查看次数: |
4781 次 |
| 最近记录: |