Opencv之如何提取ROI?收藏

网友投稿 400 2024-01-23


   ROI是英文Region Of Interest的三个首字母缩写,很多时候我们对图像的分析就是对图像特定ROI的分析与理解,对细胞与医疗图像来说,ROI提取正确才可以进行后续的分析、测量、计算密度等,而且这些ROI区域往往不是矩形区域,一般都是不规则的多边形区域,很多OpenCV初学者都不知道如何提取这些不规则的ROI区域。

Opencv之如何提取ROI?收藏

其实OpenCV中有个非常方便的API函数可以快速提取各种非正常的ROI区域提取ROI区域    在做这个之前,首先来了解一下什么图像处理中的mask(遮罩),OpenCV中是如此定义Mask的:八位单通道的Mat对象,每个像素点值为零或者非零区域。

当Mask对象添加到图像区上时,只有非零的区域是可见,Mask中所有像素值为零与图像重叠的区域就会不可见,也就是说Mask区域的形状与大小直接决定了你看到最终图像的大小与形状一个具体的示例如下:

   可以看出,mask的作用是可以 帮助我们提取各种不规则的区域OpenCV中完成上述步骤操作只需要简单调用API函数 bitwise_and 即可    于是另外一个问题也随之而来,我们怎么生成这样mask区域,答案是在OpenCV中有两种方法搞定Mask区域生成。

方法一:    通过手动选择,然后通过多边形填充即可做到,代码实现如下:

运行效果如下:

方法二:    这个也是OpenCV新手最迷茫的地方,如何通过程序生成mask,其实真的很简单。看代码演示吧!

效果如下:

主要是分为三步    提取轮廓ROI    生成Mask区域    提取指定轮廓    特别需要注意的是->其中生成Mask可以根据轮廓、二值化连通组件分析、inRange等处理方法得到这里基于inRange方式得到mask区域,然后提取。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:龙睿智能相机- 链条视觉检测应用收藏
下一篇:多通道ADC使工业4.0的机器状态监测成为可能收藏
相关文章

 发表评论

暂时没有评论,来抢沙发吧~