其他分享
首页 > 其他分享> > OpenCV 学习笔记-day5(图像像素的算数操作,add()加法函数 ,subtract()减法函数 ,divide()除法函数,multiply()乘法函数

OpenCV 学习笔记-day5(图像像素的算数操作,add()加法函数 ,subtract()减法函数 ,divide()除法函数,multiply()乘法函数

作者:互联网

OpenCV 学习笔记

day5-图像像素的算数操作

函数

  1. 运算符

‘+’ ‘-’ ‘*’ ‘/’
例1

Mat dst;
dst = image + Scalar(50, 50, 50);
//给image每一个像素点加50
dst = image - Scalar(50, 50, 50);//减50
dst = image / Scalar(2, 2, 2);//除以50
//乘法一般用函数
  1. 运算符函数

函数要求相加(减,乘,除)的两幅图像具有相同的尺寸,并且像素类型是相同的。

参数说明
src1第一个输入数组
src2第二个与src1相同大小和类型的输入数组。
dst输出数组的大小和类型与src2相同
scale标量因子
src2第二个与src1相同大小和类型的输入数组。
dtype输出数组的类型可选深度; 如果为-1,dst将有深度src2.depth(),
但在按数组划分的情况下,当src1.depth()==src2.depth()时,只能传递-1。
1. multiply();//乘法函数 multiply(第一张图像,第二张图像,输出图像)
CV_EXPORTS_W void multiply(InputArray src1, InputArray src2,OutputArray dst, double scale = 1, int dtype = -1);
2. add(image,m,dst);//加法函数
void add(InputArray src1, InputArray src2, OutputArray dst, InputArray mask=noArray(), int dtype=-1);
4. subtract(image,m,dst);//减法函数
void subtract(InputArray src1, InputArray src2, OutputArray dst, InputArray mask=noArray(), int dtype=-1);
5. divide(image, m, dst);//除法函数
void divide(InputArray src1, InputArray src2, OutputArray dst,double scale=1, int dtype=-1);

代码

#include <opencv2\highgui.hpp>

#include <opencv2\imgproc.hpp>

#include<quickopencv.h>

#include <iostream>
void QuickDemo::operators_demo(Mat &image)
{
	Mat dst;
	namedWindow("原图", WINDOW_NORMAL);
	imshow("原图", image);//显示结果1
	//dst = image + Scalar(50, 50, 50);//给image每一个像素点加50--显示结果2
	//dst = image - Scalar(50, 50, 50);//减50--显示结果3
	//dst = image / Scalar(2, 2, 2);//除以50--显示结果4

	//乘法
	Mat m = Mat::zeros(image.size(),image.type());
	m=Scalar(2, 2, 2);
	multiply(image,m,dst);//乘法函数 multiply(第一张图像,第二张图像,输出图像)--显示结果5
	add(image,m,dst);//加法函数
	subtract(image,m,dst);//减法函数
	divide(image, m, dst);//除法函数

	namedWindow("...操作", WINDOW_NORMAL);
	imshow("...操作", dst);
}//operators_demo

显示结果1
原图

显示结果2
加法操作
显示结果3
减法操作
显示结果4
除法操作
显示结果5
两个Mat图像相乘用函数

标签:函数,InputArray,dst,day5,50,src2,OpenCV,image
来源: https://blog.csdn.net/qq_44799835/article/details/122297603