广西建设厅考试网站博客网站开发报告文库
广西建设厅考试网站,博客网站开发报告文库,留电话咨询看房,网站建设备案流程OpenCV7-copyTo截取ROI copyTo截取感兴趣区域 copyTo截取感兴趣区域
有时候#xff0c;我们只对一幅图像中的部分区域感兴趣#xff0c;而原图像又十分大#xff0c;如果带着非感兴趣区域一次处理#xff0c;就会对程序的内存造成负担#xff0c;因此我们希望从原始图像中… OpenCV7-copyTo截取ROI copyTo截取感兴趣区域 copyTo截取感兴趣区域
有时候我们只对一幅图像中的部分区域感兴趣而原图像又十分大如果带着非感兴趣区域一次处理就会对程序的内存造成负担因此我们希望从原始图像中截取部分图像后再进行处理。我们将这个区域称作感兴趣区域Region of InterestROI。
从原图中截取部分内容可以用Rect数据结构标记也可以用Range数据结构标记
typedef Rect2i Rect;
typedef Rect_int Rect2i;templatetypename _Tp class Rect_
{
public:// ..._Tp x; //! x coordinate of the top-left corner_Tp y; //! y coordinate of the top-left corner_Tp width; //! width of the rectangle_Tp height; //! height of the rectangle
};
img(Rect(p.x, p.y, width, height))class CV_EXPORTS Range
{
public:Range();Range(int _start, int _end);int size() const;bool empty() const;static Range all();int start, end;
};
// 定义开始和结束范围可以是行的开始和结束范围也可以是列的开始和结束范围
img(Range(rows_start, rows_end), Range(cols_start, cols_end));深拷贝函数copyTo
void cv::Mat::copyTo( OutputArray m ) const;void cv::Mat::copyTo( OutputArray m, InputArray mask ) const;void cv::copyTo(InputArray src, OutputArray dst, InputArray mask);#include opencv2\opencv.hpp
#include opencv2/core/utils/logger.hpp // debug no log
#include iostream
using namespace cv;
using namespace std;int main()
{cout OpenCV Version: CV_VERSION endl;utils::logging::setLogLevel(utils::logging::LOG_LEVEL_SILENT);Mat img imread(lena.png);Mat noobcv imread(noobcv.jpg);if (img.empty() || noobcv.empty()){cout 请确认图像文件名称是否正确 endl;return -1;}Mat ROI1, ROI2, ROI2_copy, mask, img2, img_copy, img_copy2;resize(noobcv, mask, Size(200, 200));img2 img; //浅拷贝//深拷贝的两种方式img.copyTo(img_copy2);copyTo(img, img_copy, img);//两种在图中截取ROI区域的方式Rect rect(206, 206, 200, 200); //定义ROI区域ROI1 img(rect); //截图ROI2 img(Range(300, 500), Range(300, 500)); //第二种截图方式img(Range(300, 500), Range(300, 500)).copyTo(ROI2_copy); //深拷贝mask.copyTo(ROI1); //在图像中加入部分图像imshow(加入noobcv后图像, img);imshow(ROI对ROI2的影响, ROI2);imshow(深拷贝的ROI2_copy, ROI2_copy);circle(img, Point(300, 300), 20, Scalar(0, 0, 255), -1); //绘制一个圆形imshow(浅拷贝的img2, img2);imshow(深拷贝的img_copy, img_copy);imshow(深拷贝的img_copy2, img_copy2);imshow(画圆对ROI1的影响, ROI1);waitKey(0);return 0;
}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/89691.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!