Advertisement

cv2异常案例:自定义ROI导致图像偏移

阅读量:

这两天定义某图像的ROI时发现, 有时会出现不正常的情况

比如 Rect的位置移位, 偶尔伴有图像边框附近出现异常像素

或者干脆整个都是图像都变化了

关于具体原因尚不明确, 可能与内存相关, 其中使用了多个Mat进行数据交换, 尽管关键部位均采用了Clone技术

将定义放到了最前端之后, 这种异常暂时还未出现过

截图的话以后遇到再截吧, 因为现在已经不出现了

---------------------------

关于自定义ROI , 顺便多说两句怎么自定义ROI

1. 定义 cv::Rect

复制代码
    cvMat src
复制代码
    cvMat
复制代码

2. class Range (基本数据类型)

imageROI = 从 cv::Range(image.rows - logo.rows, image.rows) 获取的子图像,
从 cv::Range(image.cols - logo.cols, image.cols) 获取的子图像;

3. 类似于第一个的做法, 采用了cv::Mat的普通复制方式, 其实上是进行了直接的指针复制, 并指向了同一个内存区域(我的理解是)

将imageROI赋值为基于特定区域的图像部分(由cv::Rect定义的位置参数决定)。创建名为mask的Mat

全部评论 (0)

还没有任何评论哟~