三种不同数据类型的Mat

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
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值