在对图像进行处理过程中,我们经常需要对图像的某个或多个感兴趣区域进行处理。在OpenCV中我们能够非常方便地获取指定ROI区域的子图像。下面这段代码就演示了怎样获取指定单个ROI或多个ROI图像区域。

    1. //  复制一个或多个ROI图像区域
    2. //  Author:  www.icvpr.com
    3. //  Blog: http://blog.csdn.net/icvpr
    4. #include <iostream>
    5. #include <vector>
    6. #include <opencv2/opencv.hpp>
    7. int main()
    8. {
    9. cv::Mat srcImage = cv::imread("../test.jpg");
    10. // 保存一个ROI图像区域
    11. cv::Mat roiImage;
    12. cv::Rect rect(100, 100, 100, 100);
    13. srcImage(rect).copyTo(roiImage);
    14. cv::imshow("roi", roiImage);
    15. cv::imwrite("roi.jpg", roiImage);
    16. cv::waitKey(0);
    17. // 保存多个ROI图像区域
    18. std::vector<cv::Rect> rects;
    19. for (size_t i = 0; i < 4; i++)
    20. {
    21. rects.push_back(cv::Rect(i*10, i*10, 50, 50));
    22. }
    23. std::vector<cv::Mat> subImages;
    24. for(int i = 0; i < rects.size(); i++)
    25. {
    26. cv::Mat tempImg;
    27. srcImage(rects[i]).copyTo(tempImg);
    28. subImages.push_back(tempImg);
    29. cv::imwrite("roi.jpg", subImages[i]);
    30. cv::imshow("subImage", subImages[i]);
    31. cv::waitKey(0);
    32. }
    33. return 0;
    34. }

OpenCV_复制一个或多个ROI图像区域的更多相关文章

  1. C# 复制一个Word文档的部分或全部内容到另一个Word文档

    C# 复制一个Word文档的部分或全部内容到另一个Word文档 我最近喜欢折腾Office软件相关的东西,想把很多Office软件提供的功能用.NET来实现,如果后期能把它用来开发一点我自己的小应用程 ...

  2. sql的存储过程实例--动态根据表数据复制一个表的数据到另一个表

    动态根据表数据复制一个表的数据到另一个表 把track表的记录 根据mac_id后两位数字,复制到对应track_? 的表中 如:mac_id=12345678910,则后两位10 对应表为track ...

  3. 对于一个web工程,如果我们复制一个已有的工程粘贴到同一个workspace下,我们除了需要更改工程的名字还需要更改这个新工程的content root,否则会报错。

    对于一个web工程,如果我们复制一个已有的工程粘贴到同一个workspace下,我们除了需要更改工程的名字还需要更改这个新工程的content root,否则会报错.步骤如下: 右键新的工程---&g ...

  4. PHP通过copy()函数来复制一个文件

    PHP通过copy()函数来复制一个文件.用法如下: bool copy(string $source, string $dest) 其中$source是源文件的路径,$dest是目的文件的路径.函数 ...

  5. MySQL如何复制一个表

    MySQL如何复制一个表 1 复制 employee 表 => employee2 () create table employee2 like employee () insert into ...

  6. dreamweaver中的 map怎么调用?_制作热点图像区域

    我们浏览网页时,经常看到一些图片上会出现特别的超链接,即在一张图片上有多个局部区域和不同的网页链接,比如地图链接. 这就是映射图像(Image Map),它是指一幅根据链接对象不同而被人为划分为若干指 ...

  7. OpenCV 基于超像素分割的图像区域选取方法及源码

    本系列文章由 @yhl_leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/yhl_leo/article/details/51386993 工程源码GitHub: ...

  8. pyfits fits图像区域选择

    在用pyfits读取fits格式的图像时,得到的数组的结构如下 f=pyfits.open('rr.fits') data1=f[0].data data1数组的第一行,对应于图像的最下面一行,数组第 ...

  9. 一个区域只能放置一个组件,如果想在一个区域放置多个组件就需要使用Panel来装载

    五种布局管理器: Flow Layout(流式布局):按照组件添加到容器中的顺序,顺序排放组件位置.默认为水平排列,如果越界那么会向下排列.排列的位置随着容器大小的改变而改变. Panel默认的布局管 ...

随机推荐

  1. 09 深科技相关表结构 (未完成)、git

    1.深科技相关 1. 深科技表结构(6表) 深科技4张+2张用户表 - 深科技 用户表 用户Token 文章来源 文章表 通用评论表 通用收藏表 # ######################## ...

  2. 题解 [CF803C] Maximal GCD

    题面 解析 一开始以为这题很难的... 其实只要设\(d\)为\(a\)的最大公因数, 即\(a[i]=s[i]*d\), 因为\(n=\sum_{i=1}^{n}a[i]=\sum_{i=1}^ns ...

  3. HDU 6059 - Kanade's trio | 2017 Multi-University Training Contest 3

    思路来自题解(看着题解和标程瞎吉尔比划了半天) /* HDU 6059 - Kanade's trio [ 字典树 ]  |  2017 Multi-University Training Conte ...

  4. 【SQL-历史执行语句查询】 查询对数据库执行了哪些SQL

    Sql语句 QS.creation_time as '创建时间', ), (( THEN DATALENGTH(st.text) ) ) AS '查询语句' , ST.text as '执行文本', ...

  5. prev([expr]) 取得一个包含匹配的元素集合中每一个元素紧邻的前一个同辈元素的元素集合。

    prev([expr]) 概述 取得一个包含匹配的元素集合中每一个元素紧邻的前一个同辈元素的元素集合. 可以用一个可选的表达式进行筛选.只有紧邻的同辈元素会被匹配到,而不是前面所有的同辈元素.直线电机 ...

  6. PHP mysqli_field_tell() 函数

    mysqli_field_tell() 函数返回字段指针的位置. 取得所有字段的字段信息,然后通过 mysqli_field_tell() 取得当前字段并输出字段名称.表格和最大长度: <?ph ...

  7. webuploader+上传文件夹

    在web项目中上传文件夹现在已经成为了一个主流的需求.在OA,或者企业ERP系统中都有类似的需求.上传文件夹并且保留层级结构能够对用户行成很好的引导,用户使用起来也更方便.能够提供更高级的应用支撑. ...

  8. Django基础之request对象

    当一个页面被请求时,django就会创建一个包含本次请求原信息的HttpRequest对象. django会将这个对象自动传递给响应的视图函数,一般视图函数约定俗成地使用request参数承接这个对象 ...

  9. springboot(七).springboot整合jedis实现redis缓存

    我们在使用springboot搭建微服务的时候,在很多时候还是需要redis的高速缓存来缓存一些数据,存储一些高频率访问的数据,如果直接使用redis的话又比较麻烦,在这里,我们使用jedis来实现r ...

  10. input输入框只能输入数字和英文逗号

    <input type="text"  onkeyup="this.value=this.value.replace(/[^\d\,]/g,'')"> ...