稍微总结下,OpenCv与Qt结合最主要的问题应该就是图像的显示了,即IplImage在Qt上的显示。
参考的几个资料:
资料1:http://www.qtcentre.org/threads/11655-OpenCV-integration
资料2:http://code.google.com/p/zarzamora/
资料3:http://www.morethantechnical.com/2009/03/05/qt-opencv-combined-for-face-detecting-qwidgets/
大多数的方案都是将IPLimage转到Qimage来显示,
资料2提供了QOpencv包,对里面的RGB的值交换下等去实现,实现下没问题,速度Ok;
但是包里提供的就是图像深度为IPL_DEPTH_8U的格式的转换,若需要其他格式的,可以参考资料1帖子中的10楼的那个函数,不错的。
资料3中通过设置QImage的格式,实现了IPLImage和QImage的共享Image Data Buffer,用作者的话说就是how awesome is that:) ,他也Believe比那个资料2中所说的实现速度快。
在自己的烂机子上测试了,的确跑的比QOpencv的快一些。
资料1中的sf大神还提供了基于OpenGL实现的方法,用的是bindTexture()等函数,据说快很多,有空去实现下。
目前用3中Roy提供的方法。赞个。
转自:http://blog.csdn.net/godoorsun/article/details/5541598