提取图像的局部区域
1、提取图像局部区域
有时候整幅图像需要采取局部,如何进行采取呢。方案如下:文章来源:https://www.toymoban.com/news/detail-701459.html
- 确定裁剪区域的大下
- 将原图copy一份,原图备用,防止损坏
- 将copy的图进行裁剪
2、代码实现
#include <iostream>
#include <opencv2/opencv.hpp>
int main()
{
//读图imread
cv::Mat img = cv::imread("D:imgs\\datasets\\car_model.png");
cv::Mat img_copy, img_copy_cut;
//裁剪局部区域--采用Rect方式
cv::Rect rect_roi = cv::Rect(20, 20, 700, 300);
//避免损失原图,copy原图,在copy的图上操作
img.copyTo(img_copy);
//将copy的图进行局部裁剪
img_copy_cut = img_copy(rect_roi);//浅拷贝
//画矩形
cv::rectangle(img_copy, rect, cv::Scalar(0, 0, 255), 2); // rect:矩形的形状。
//imshow
cv::imshow("img_copy_cut", img_copy_cut);
cv::imshow("img_copy", img_copy);
cv::imshow("img", img);
cv::waitKey(0);
return 0;
}
原图:
copy图及需要裁剪的部分:
裁剪图:
文章来源地址https://www.toymoban.com/news/detail-701459.html
到了这里,关于c++ OpenCV——提取图像的局部区域的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!