用MFC写的上位机总是需要在picture下显示Mat图片,方法很多啦,但是不经意间看到一种十分巧妙的方法,实在是让人感觉优雅之极。感觉十分有必要给大家介绍一下,征求@jie wu大神的同意,特此分享!
可以把OpenCV的窗口添加到PictureControl里面,这样你可以继续使用OpenCV的setMouseCallback直接对PictureControl进行鼠标操作。
首先在你的OnInit函数中添加如下
首先在你的OnInit函数中添加如下
上面就是打开一个名为view的OpenCV窗口,并将其放置到一个ID为IDC_STATIC_CV的PictureControl里面,这个控件的类型需要是rectangle。当你在需要显示某图片的时候,就像在OpenCV里面显示一样就可以了。
调用imshow显示前先使用以下代码适应图片大小.
然后显示图片的代码(在程序中只要是显示“view”窗口,就自动显示到ID为IDC_STATIC_CV的picture控件上了):
作者:jie wu
链接:https://www.zhihu.com/question/29611790/answer/45068617
来源:知乎