利用鼠标绘制不规则ROI

    ROI(Regions Of Interest)区域在实际工作中有着很重要的作用,它不仅能提高计算机视觉代码的执行速度,而且还能排除一些复杂背景带来的干扰。OpenCV中提供了一个提取ROI区域的函数,函数原型为void cvSetImageROI(IplImage* image,CvRect rect),但是这个函数限定了CvRect类型的矩形。在实际的工作中,我们所需要设定的ROI区域不仅仅是矩形区域,还有可能是其它不规则的区域。

                 利用OpenCV的其它函数,我们也可以提取不规则的ROI区域,方法步骤如下:(仅供参考)

    1、利用鼠标响应函数cvSetMouseCallback( const char* window_name, CvMouseCallback on_mouse, void* param)在初始化的图像上设定将要提取的不规则区域的各个顶点,并获取各顶点坐标(其实这些不规则区域即是由这些顶点的顺序连接组成的);

    2、然后根据这些顶点坐标,利用cvPolyLine()函数绘制多边形,其次利用cvFillPoly()填充多边形内部,即完成mask的制作;

    3、将得到的mask图像与原图像cvAnd()即可得到原图像的ROI区域。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值