您的位置:首页 > 运维架构

利用OpenCV设定不规则ROI区域

2012-05-03 21:13 981 查看
    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区域。

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  工作 image