Mat Image1(High, Width, CV_64F);//double类型
Mat Image2(High, Width, CV_8UC1);//uchar类型
Mat Image3(High, Width, CV_8UC3, Scalar(b,g,r)); //三通道
Image3.at<Veb3b(b代表数据类型)>(i , j )[0]=255; //赋值
input.convertTo(input_f, CV_32FC1, 1, 0); //转类型
GaussianBlur(input_f, input_f, Size(3, 3), 3, 3);
addWeighted(Valid_Edge_Image, 1, Edge_one, -1, 0.0, Edge_one);
cv::Mat mz = cv::Mat::zeros(cv::Size(w,h),CV_8UC1); // 全零矩阵
【或者:Mat tmpdata = Mat::zeros(h, w, CV_8UC1);//h行w列的全0矩阵】
cv::Mat mo = cv::Mat::ones(cv::Size(w,h),CV_8UC1); // 全1矩阵
【或者:Mat tmpdata = Mat::ones(h, w, CV_8UC1);//h行w列的全1矩阵】
Mat outputImage(272, 400, img.type(), Scalar(255, 255, 255)); //高,宽
addWeighted(input1, 1, input2, -1, 0.0, output);
Rect area(10, 10, 100, 100);
Mat img_region = img(area); //Rect area [x, y, width, heigth];
Mat se = getStructuringElement(MORPH_RECT, Size(3, 3));
copyMakeBorder( srcImg, dstImg, 50,50,50,50, BORDER_CONSTANT, 0 );
//copyMakeBorder( srcImg, dstImg, top, bottom, left, right, BORDER_CONSTANT, value );
resize(srcImage, dstImage, Size(resize_width, resize_height), 0, 0, INTER_LINEAR); //INTER_CUBIC
img = imread(“C:\Users\chenQY\Desktop\mmm\style2.png”);//读入图片
outputImage = Mat::zeros(272, 400, img.type()); //高,宽
dstImage = img;
// 横向拼接图片,因此cvRet第二个参数均设为0
rect = Rect(85, 0, dstImage.cols, dstImage.rows); //左上角col和rol,宽,高
dstMat = outputImage(rect);
// 将指定拷贝至目标图像
dstImage.colRange(0, dstImage.cols).copyTo(dstMat);
imwrite(out_add, outimage); //保存图片
cap.open(“E:\111\v1.mp4”); //读取视频
for (;😉
{
cap >> frame; //取帧
cvtColor(frame, gray, COLOR_BGR2GRAY); //RGB转GRAY
}
Mat imgg = imread("",0);
Scalar mean;
Scalar dev;
meanStdDev(imgg, mean, dev); //计算均值和标准差
float m = mean.val[0]; //均值
float s = dev.val[0]; //标准差
//Mat相乘
https://blog.csdn.net/dcrmg/article/details/52404580
//归一化
normalize(Image_Grad, Image_Grad, 1, 0, NORM_MINMAX);
//保存Mat为xml,读取xml为Mat
FileStorage fs_write(“Templete_Image.xml”, FileStorage::WRITE);
fs_write << “Templete_Image” << Templete_Image;
fs_write.release();
FileStorage fs_read(“Templete_Image.xml”, FileStorage::READ);
Mat asd;
fs_read[“Templete_Image”] >> asd;
invert(Matrix1, ni, DECOMP_LU);//求逆矩阵
https://blog.csdn.net/wofanzheng/article/details/105779748?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522159099859319724811822654%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=159099859319724811822654&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_v2~rank_v28-1-105779748.pc_insert_v7&utm_term=opencv+invert
Mat数据类型
https://blog.csdn.net/u011430225/article/details/55047703?biz_id=102&utm_term=mat16%E4%BD%8Duchar&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-0-55047703&spm=1018.2118.3001.4187
rectangle函数是用来绘制一个矩形框的,通常用在图片的标记上。
rectangle(img, Point(j,i), Point(j + img4.cols, i + img4.rows), Scalar(255, 255, 0), 2, 8);
img:被处理的图片
Point(j,i)代表矩形左上点的坐标
Point(j + cols, i + rows)代表矩形右下点的坐标【矩形的大小(cols,rows】
scalar:颜色
2代表线条宽度
8是线型,默认取8