异形ROI的建立与使用
来源:互联网 发布:htpc 用什么软件 编辑:程序博客网 时间:2024/09/21 09:24
在OpenCV中,ROI (Region of Interest)是非常重要的机制,它可以缩小图像处理的区域,使得程序的性能明显提升。如,在1920x720的灰度图中,模板匹配1个大小为50x50的灰度图,1G主频下的执行时间约为1s,但如果提前标定好对应的匹配位置,可以将时间缩短到1-3ms,性能提升极为可观。
OpenCV中的ROI设定有几种方式:
- 使用矩形子图像作为ROI,如:
Mat _sub = Mat( _img, Rect(x, y, w, h) );
这个_sub是从 _img中取出的子图像,共享 _img的内存,效果如同将下图中白色区域作为输入图像进行处理: - 使用Mask参数标识ROI,如matchTemplate方法的mask参数:
void cv::matchTemplate ( InputArray image, InputArray templ, OutputArray result, int method, InputArray mask = noArray() )
OpenCV的一些方法中,并不支持Mask操作,如识别直线的HoughLinesP。而矩形区域相对特定的处理情况下,仍有可能个别被测目标,沿特定轨迹运动,而对应的矩形区域内的干扰较多,导致识别困难,因此引出本文的重点:如何设计一些特殊形状的Mask,及如何在不支持Mask的OpenCV接口中使用。
根据需要创建所需的异形Mask并不难,如下2个图像的Mask,分别采用fillConvexPoly及ellipse即可完成,
在不支持Mask的方法中,使用这样的Mask则需要使用Mat的Bit And操作符:&。举个例子如下:
/* _mask after fillConvexPoly or ellipse operation */HoughLinesP( Mat(_img, _rect) & _mask, lines, 3, CV_PI/60, 30, 30, 5 );
例子中使用的Rectangle形式的ROI再Bit And上生成的异形ROI,提升了性能,减少了干扰,过程就是这么简单。
阅读全文
0 0
- 异形ROI的建立与使用
- ROI的使用与批量存储
- OpenCV:ROI使用的注意事项
- 关于OPENCV ROI的使用
- 使用ROI的方法剪切图像
- 库的建立与使用
- sourceForge, wikipedia与异形
- opencv 感兴趣区域建立ROI
- 如何用silverlight 做用于图片展示的画廊(二):建立矩形、椭圆、异形图片框
- Opencv 使用Rect选取与设置窗口ROI
- Opencv 使用Rect选取与设置窗口ROI
- 异形窗体的实现
- 异形数组的生成
- 异形窗体的实现
- OpenCV拷贝与ROI
- 图像切割,使用ROI
- opencv中Mat的使用和设置ROI的方法
- 关于LabVIEW视觉ROI的读取与存储
- 纯干货8 吴恩达新书《Machine_Learning_Yearning》_version_5.01分享
- 12C的PDB使用RMAN的4种完全恢复场景
- JAVA开发之 39-JAVA数组知识点(二)
- css预处理器less的分析
- vuejsLearn--- -- 怎么查看、修改、追加数据---->data对象
- 异形ROI的建立与使用
- C#中out和ref之间的区别
- Python-OpenCV 处理图像(一):基本操作 cv2
- UDEV实验文档
- 怎么让页面变灰实现代码
- Java面向对象_3
- 国企面试常见问题
- code[vs]2898 卢斯的进位制
- 对滚动视图contentInset自动设置场景的探讨