#include<iostream> #include<opencv2/opencv.hpp> using namespace cv; int main(int argc, char **argv) { Mat A, C; A = imread(argv[1],CV_LOAD_IMAGE_COLOR);//读入图片 Mat B(A);//复制构造函数 C = A;//赋值 Mat D(A,Rect(10,10,100,100));//取A中一块矩形的数据 Mat E = A(Range::all(),Range(1,3));//取A的全部行,和1到3列的数据 Mat M(2,2,CV_8UC3,Scalar(0,0,255));//行,列,数据类型(unsigned char)和通道数,数据 int sz[3] = {2,2,2}; Mat L(3,sz,CV_8UC1,Scalar::all(0));//维数,每个维数的尺寸,数据类型,数据 M.create(4,4,CV_8UC2); // MATLAB形式的初始化方式 Mat E = Mat::eye(4,4,CV_64F); Mat O = Mat::ones(2,2,CV_32F); Mat Z = Mat::zeros(3,3,CV_8UC1); // 直接输入数据的方法 Mat C = (Mat_<double>(3,3) << 0,-1,0,-1,5,-1,0,-1,0); return 0; }