OpenCV_复制一个或多个ROI图像区域
2024-09-02 14:19:19
在对图像进行处理过程中,我们经常需要对图像的某个或多个感兴趣区域进行处理。在OpenCV中我们能够非常方便地获取指定ROI区域的子图像。下面这段代码就演示了怎样获取指定单个ROI或多个ROI图像区域。
- // 复制一个或多个ROI图像区域
- // Author: www.icvpr.com
- // Blog: http://blog.csdn.net/icvpr
- #include <iostream>
- #include <vector>
- #include <opencv2/opencv.hpp>
- int main()
- {
- cv::Mat srcImage = cv::imread("../test.jpg");
- // 保存一个ROI图像区域
- cv::Mat roiImage;
- cv::Rect rect(100, 100, 100, 100);
- srcImage(rect).copyTo(roiImage);
- cv::imshow("roi", roiImage);
- cv::imwrite("roi.jpg", roiImage);
- cv::waitKey(0);
- // 保存多个ROI图像区域
- std::vector<cv::Rect> rects;
- for (size_t i = 0; i < 4; i++)
- {
- rects.push_back(cv::Rect(i*10, i*10, 50, 50));
- }
- std::vector<cv::Mat> subImages;
- for(int i = 0; i < rects.size(); i++)
- {
- cv::Mat tempImg;
- srcImage(rects[i]).copyTo(tempImg);
- subImages.push_back(tempImg);
- cv::imwrite("roi.jpg", subImages[i]);
- cv::imshow("subImage", subImages[i]);
- cv::waitKey(0);
- }
- return 0;
- }
最新文章
- [.net 面向对象程序设计进阶] (18) 多线程(Multithreading)(三) 利用多线程提高程序性能(下)
- [转载]用 grub2 启动 clover.iso 来启动 OS X
- xheditor编辑器的使用
- HDU 5001
- 数组排序-冒泡排序-选择排序-插入排序-希尔排序-快速排序-Java实现
- django笔记
- JS初学的一些易错的知识点
- trunc的使用
- 【M25】将构造方法和非成员方法虚化
- ajax 分页控件,基于jquery
- SCOI2014省选总结
- C++惯用法:通过成员模板实现隐式转换(Coercion 强迫 by Member Template)
- java 分页模型的模板
- SpringMVC总结
- 性能测试系列-java gc调优
- Spring 事件
- MongoDB可视化工具--Robo 3T 使用教程
- 架构探险笔记3-搭建轻量级Java web框架
- ubuntu 17.10.1 安装 virtual box 增强工具
- MCU_头文件编写