#include <opencv2/opencv.hpp>
#include <stdio.h>
#include <stdlib.h>
using namespace cv;
using namespace std;
int main(int argc, char** argv)
{
Mat img = imread("123.jpg",-1);//3通道
//Mat line1 = img.row(40);//读取一行
//Mat line2 = img.col(40)*img.channels();//读取一列
//注意,这里的范围含头不含尾。
Mat A = img(Range(0,500),Range(0,500));
imshow("1", A);imwrite("A.jpg",A);
Mat B = img(Range(0,500),Range::all());
imshow("2", B);imwrite("B.jpg",B);
//Rect四个参数:距左边距离,距上边距离,矩形x(左右)方向长宽,矩形y(上下)方向高低。
Mat C(img, Rect(500,100,1200,1000));
imshow("3", C);imwrite("C.jpg",C);
cout<<img.rows<<endl<<img.cols<<endl;
waitKey();
return 1;
}
123.jpg (图片 1920*1200 像素)
A.jpg
B.jpg
C.jpg