cvtColor(image, hsv, COLOR_BGR2HSV);
图像从BGR颜色空间转换成HSV色彩空间。
image是输入图像,hsv是输出图像
cvtColor(image, gray, COLOR_BGR2GRAY);
图像从BGR颜色空间转换成灰度图
image是输入图像,gray是输出图像
对多通道进行赋值。
img = Scalar(255, 0, 0);
生成一个三通道的图像,第一通道的值都为255,其他为0,,结果就是一张红色图像。
divide(img1, img2, output);
实现两个图像相加,输出为output
Mat img = Mat::zeros(image.size(), image.type());
生成一个零矩阵,矩阵的维度为image.size,数据类型为image.type()
addWeighted(image1, alpha1, image2, alpha2, gamma, output);
output = alpha1*image1 + alpha2 * image2 + gamma
参考: opencv中addWeighted()函数用法总结
namedWindow("窗口名字", para);
参考:
指定范围内进行阈值化,得到一个二值化图像。
参考:
inRange()函数
void add(InputArray src1, InputArray src2, OutputArray dst,InputArray mask=noArray(), int dtype=-1);//dst = src1 + src2
void subtract(InputArray src1, InputArray src2, OutputArray dst,InputArray mask=noArray(), int dtype=-1);//dst = src1 - src2
void multiply(InputArray src1, InputArray src2,OutputArray dst, double scale=1, int dtype=-1);//dst = scale*src1*src2
void divide(InputArray src1, InputArray src2, OutputArray dst,double scale=1, int dtype=-1);//dst = scale*src1/src2
void divide(double scale, InputArray src2,OutputArray dst, int dtype=-1);//dst = scale/src2
void scaleAdd(InputArray src1, double alpha, InputArray src2, OutputArray dst);//dst = alpha*src1 + src2
void addWeighted(InputArray src1, double alpha, InputArray src2,double beta, double gamma, OutputArray dst, int dtype=-1);//dst = alpha*src1 + beta*src2 + gamma
void sqrt(InputArray src, OutputArray dst);//计算每个矩阵元素的平方根
void pow(InputArray src, double power, OutputArray dst);//src的power次幂
void exp(InputArray src, OutputArray dst);//dst = e**src(**表示指数的意思)
void log(InputArray src, OutputArray dst);//dst = log(abs(src))
四个按位操作函数:
bitwise_and、bitwise_or、bitwise_xor、bitwise_not这四个按位操作函数。
void bitwise_and(InputArray src1, InputArray src2,OutputArray dst, InputArray mask=noArray());//dst = src1 & src2
void bitwise_or(InputArray src1, InputArray src2,OutputArray dst, InputArray mask=noArray());//dst = src1 | src2
void bitwise_xor(InputArray src1, InputArray src2,OutputArray dst, InputArray mask=noArray());//dst = src1 ^ src2
void bitwise_not(InputArray src, OutputArray dst,InputArray mask=noArray());//dst = ~src
引用:OpenCV之bitwise_and、bitwise_not等图像基本运算及掩膜
normalize(image, dst, 1.0, 0, NORM_MINMAX);
图像数据归一化
image是输入图像,dst是归一化后的图像
blur(image, dst, Size(15, 15), Point(-1, -1));
实现对图像进行模糊处理
image表示输入图像,dst表示输出图像,size(15,15)表示平滑核的大小,默认值Point(-1,-1)表示这个锚点在核的中心