OpenCV在MFC上的图像读取与通道分离
MFC 里的 OpenCV 用起来其实没那么麻烦,关键是你得先把环境配好,像头文件路径、库文件链接这些,搞清楚了,后面就顺畅多了。
图像读取部分,用cv::imread
就行,挺直接的,路径一写就能读,返回的cv::Mat
对象你可以想象成一张二维的像素表。想读彩色图,就设参数为 1。
展示图像在 MFC 里有点麻烦,因为 OpenCV 自己的imshow
跟 MFC 窗口系统会打架。你可以把cv::Mat
转成CBitmap
,再配合CDC
来画出来。看着复杂,其实就是格式转一下,调用几个函数就行。
分通道也是 OpenCV 的拿手好戏,用cv::split
一行代码就能搞定。你会得到三个cv::Mat
,分别是蓝、绿、红通道。想单独哪个颜色,就拿哪个通道动手。
如果你想看每个通道的效果,可以用namedWindow
和imshow
开三个窗口分别显示。别忘了waitKey
,不然窗口闪一下就没了。
这些功能你都可以塞到 MFC 的OnPaint
里去,图像读取、转换、绘制一气呵成。用完 OpenCV 窗口也记得destroyAllWindows
清一下。
如果你平时写 MFC,又对图像感兴趣,这套组合还是挺好用的。对色彩理解、图像也有。想进阶的话,可以往滤波、边缘检测这些方向搞。
11.25MB
文件大小:
评论区