C++中cv::Mat矩阵任意取其中一块或一行一列如何操作
问题描述:
在使用opencv库读取图片后,想要对图像中的一块内容进行操作
开发工具:VS2019
C++中实现类似于Matlab的操作
例如取出img中 1-3行0-2列的内容:
img_test[]=img[1:3,0:2]
C++中这样写
取2-5列
cv::Mat img1Rect_col;
img1Rect_col = img(cv::Range::all(), cv::Range(2, 5));
取3-7行
cv::Mat img1Rect_row;
img1Rect = img(cv::Range(3, 7), cv::Range::all());
也可以合起来写,相当于取一块
cv::Mat imgRect;
imgRect = img(cv::Range(1,3),cv::Range(0,2));