关于opencv中cv::Mat设置roi
opencv中设置roi实验:
cv::Mat SrcImg;
SrcImg = cv::imread("../resource/cpw3.png");
cv::imshow("原图像",SrcImg); // 第一次提取部分ROI
cv::Rect SrcImgROI = cv::Rect( SrcImg.cols/, , SrcImg.cols/, SrcImg.rows/);
cv::Mat SrcROIImg = SrcImg(SrcImgROI);
cv::imshow("ROI",SrcROIImg); // 第一次改变ROI中的值,原图像也改变,表示公用一个内存
SrcROIImg.setTo(cv::Scalar(,,));
cv::imshow("原图像-2",SrcImg); cv::Size wholeSize;
cv::Point ofs;
// 第一次获取ROI相对于原图像的偏移以及尺寸,wholeSize为原图像尺寸,ofs为该roi在原图像的偏移
SrcROIImg.locateROI(wholeSize,ofs);
printf("ROI mat: wholeSize:(%d,%d),ofs:(%d,%d)\n",wholeSize.width,wholeSize.height,ofs.x,ofs.y); // 调整ROI大小尺寸
SrcROIImg.adjustROI(, -SrcImg.rows/, -SrcImg.cols/, );
cv::imshow("ROI-2",SrcROIImg); // 第二次改变调整后ROI中的值,原图像也改变,表示公用一个内存
SrcROIImg.setTo(cv::Scalar(,,));
cv::imshow("原图像-3",SrcImg); // 第二次获取调整后的ROI相对于原图像的偏移以及尺寸
SrcROIImg.locateROI(wholeSize,ofs);
printf("After Adjust ROI mat: wholeSize:(%d,%d),ofs:(%d,%d)\n",wholeSize.width,wholeSize.height,ofs.x,ofs.y); // 第三次 获取原图像ROI部分ROI
SrcImg = SrcImg(SrcImgROI);
cv::imshow("ROI-3",SrcImg);
1.原图像为:

2. 第一次提取的ROI图像为:

3.第一次改变ROI中的值,原图像也改变,表示公用一个内存

4.第一次获取ROI相对于原图像的偏移以及尺寸:

5.调整ROI大小尺寸后图像:

6.第二次改变调整后ROI中的值,原图像也改变,表示公用一个内存:

7.第二次获取调整后的ROI相对于原图像的偏移以及尺寸:

8.第三次 获取原图像ROI部分ROI

关于opencv中cv::Mat设置roi的更多相关文章
- OpenCV中对Mat里面depth,dims,channels,step,data,elemSize和数据地址计算的理解
原文:OpenCV中对Mat里面depth,dims,channels,step,data,elemSize和数据地址计算的理解 Title : cv::Mat depth/dims/channels ...
- 【opencv】cv::Mat转std::vector<cv::Point2d> (注意两容器中数据类型的一致性)
获取cv::Mat大小: mymat.size() 获取cv::Mat指定位置的值:需指定数据类型,且注意数据类型应与存入时的数据类型一致,否则会导致不抛出异常的数据错误 mymat.at<,i ...
- 如何将OpenCV中的Mat类绑定为OpenGL中的纹理
https://blog.csdn.net/TTTTzTTTT/article/details/53456324 如果要调用外接的USB摄像头获取图像通常使用OpenCV来调用,如何调用摄像头请参考本 ...
- OpenCV中对Mat里面depth,dims,channels,step,data,elemSize和数据地址计算的理解 (转)
cv::Matdepth/dims/channels/step/data/elemSizeThe class Mat represents an n-dimensional dense numeric ...
- QT中使用 slot 传递 opencv 中得Mat对象以及 使用多线程集成开源代码。
关于 slot传递 Mat 对象 以前一直是使用 Qtimer 定时器,设定超时后读取 dialog 对象的 Mat成员实现在 UI 里显示图像,发现这样对以后集成其他面向过程的代码增加了复杂度. 所 ...
- 网络流中的图像转化为OpenCV中的Mat类型
1,从网络中读取到的图像流,不支持查找,不能直接转化为Mat类型 2,例子如下: string Url = "http://192.168.0.110/cgi-bin/camera?reso ...
- opencv中的Mat类型
Mat类型主要是跟matlab中的数据类型一样.故用起来很方便. Mat最大的优势跟STL很相似,都是对内存进行动态的管理,不需要之前用户手动的管理内存,对于一些大型的开发,有时候投入的lpImage ...
- opencv 中的mat类(非原创)
Mat最大的优势跟STL很相似,都是对内存进行动态的管理,不需要之前用户手动的管理内存,Mat这个类有两部分数据.一个是matrix header(矩阵头),这部分的大小是固定的,包含矩阵的大小,存储 ...
- 【记录一个问题】opencv中 cv::dft()与cv::ocl_dft()计算的结果相差较大
以一个跟踪算法来测试: 使用cv::dft(), 矩阵未按照2次幂对齐,最终跟踪平均准确率 84.3% 使用cv::dft(),矩阵使用cv::copyMakeBorder对齐,最终跟踪平均准确率 8 ...
随机推荐
- objectarx之模型空间
AcDbObjectId CCommonFuntion::PostToModelSpace(AcDbEntity* pEnt){ // 获得指向块表的指针 AcDbBlockTable *pBlock ...
- MYSQL中LIMIT用法_后台分页
LIMIT是MySQL内置函数,其作用是用于限制查询结果的条数. 1)其语法格式如下: LIMIT[位置偏移量,]行数 其中,中括号里面的参数是可选参数,位置偏移量是指MySQL查询分析器要从哪一行开 ...
- css 的float和inline-block区别
CSS布局创建网站,浮动绝对占据了很大的比例.大块区域如主内容及侧边栏,以及在其中的小块区域,都可以看到浮动的影子.这里浮动是唯一的解决方案吗? 浮动通常表现正常,但有时候搞起来会很纠结.特别是处理内 ...
- 【JZOJ4855】【NOIP2016提高A组集训第6场11.3】荷花池塘
题目描述 于大夫建造了一个美丽的池塘,用来让自己愉快的玩耍.这个长方形的池子被分割成了M 行 和N 列的正方形格子.池塘中有些地方是可以跳上的荷叶,有些地方是不能放置荷叶也不 能跳上的岩石,其他地方是 ...
- oracle loader
控制文件的格式 load data infile '数据文件名' into table 表名 (first_name position(01:14) char, sur ...
- @codeforces - 1209G2@ Into Blocks (hard version)
目录 @description@ @solution@ @accepted code@ @details@ @description@ 定义一个序列是好的,当且仅当这个序列中,相等的两个数之间的所有数 ...
- oracle函数 last_day(d1)
[功能]:返回日期d1所在月份最后一天的日期. [参数]:d1,日期型 [返回]:日期 [示例]select sysdate,last_day(sysdate) hz from dual; 返回:2 ...
- 学习canvas画布
我们可以用画布(Canvas)绘制各种图形,下面代码是绘制的一个圆形: <!DOCTYPE html> <html> <head> <title>Can ...
- oracle 减少对表的查询
在含有子查询的SQL语句中,要特别注意减少对表的查询. 例如: 低效 SELECT TAB_NAME FROM TABLES WHERE TAB_NAME = ( SELECT TAB_NAME FR ...
- EF CodeFirst 实例Demo
一直想搞一个EFCodeFirst的Demo,让自己通过实例真正了解CodeFirst,方便以后有需求的时候可以有思路.网上查了很多资料,发现很多博主的文章大量重复,根据推荐步骤走并不一定能够成功,而 ...