【opencv学习之二十】图像基本运算
2017-12-02 21:18
302 查看
opencv的图像基本运算加减乘除与或非等操作,直接代码了:
void imgOperate()//14.图像基本运算
{
Mat img2 = imread("D:/ImageTest/logo.png");
Mat img1= imread("D:/ImageTest/12.jpg");
Mat dstAdd,dstSub,dstMul,dstDiv,dstAnd,dstOr,dstNot,dstXor; //存储结果
imshow("img1", img1);
imshow("img2", img2);
//1.图像加法
dstAdd= img1 + img2; //待操作的两张图片的尺寸和类型需一样.效果同add(),大于255取255
// add(img1, img2, dstAdd);//待操作的两张图片的尺寸和类型需一样.效果同'+',大于255取255
// addWeighted(
// img1, //输入图片1,
// 0.3, //图片1的融合比例
// img2, //输入图片2
// 0.1, //图片2的融合比例
// 1, //偏差
// dstAdd); //输出图片
// addWeighted 函数实现图片的线性融合,
// dst(I)=src1(I)*alpha+src2(I)*beta+gamma
// 所有的数组必须的相同的类型相同的大小(或ROI大小)
//2.图像减法
dstSub = img1 - img2; //负数取0
//subtract(img1, img2, dstSub);//同上
// absdiff(img1, img2, dstSub);//负数取绝对值
//dst(I)c = abs(src(I)c - valuec).
//3.图像乘除法
dstMul = 5 * img1 ; //大于255取255
dstDiv = img1 / 5;
//4.图像逻辑运算
bitwise_and(img1, img2, dstAnd);
bitwise_or(img1, img2, dstOr);
bitwise_not(img1, dstNot);
bitwise_xor(img1, img2, dstXor);
imshow("dst add", dstAdd);
imshow("dst sub", dstSub);
imshow("dst mul", dstMul);
imshow("dst div", dstDiv);
imshow("dst and", dstAnd);
imshow("dst or", dstOr);
imshow("dst not", dstNot);
imshow("dst xor", dstXor);
waitKey(0);
}效果如下:
void imgOperate()//14.图像基本运算
{
Mat img2 = imread("D:/ImageTest/logo.png");
Mat img1= imread("D:/ImageTest/12.jpg");
Mat dstAdd,dstSub,dstMul,dstDiv,dstAnd,dstOr,dstNot,dstXor; //存储结果
imshow("img1", img1);
imshow("img2", img2);
//1.图像加法
dstAdd= img1 + img2; //待操作的两张图片的尺寸和类型需一样.效果同add(),大于255取255
// add(img1, img2, dstAdd);//待操作的两张图片的尺寸和类型需一样.效果同'+',大于255取255
// addWeighted(
// img1, //输入图片1,
// 0.3, //图片1的融合比例
// img2, //输入图片2
// 0.1, //图片2的融合比例
// 1, //偏差
// dstAdd); //输出图片
// addWeighted 函数实现图片的线性融合,
// dst(I)=src1(I)*alpha+src2(I)*beta+gamma
// 所有的数组必须的相同的类型相同的大小(或ROI大小)
//2.图像减法
dstSub = img1 - img2; //负数取0
//subtract(img1, img2, dstSub);//同上
// absdiff(img1, img2, dstSub);//负数取绝对值
//dst(I)c = abs(src(I)c - valuec).
//3.图像乘除法
dstMul = 5 * img1 ; //大于255取255
dstDiv = img1 / 5;
//4.图像逻辑运算
bitwise_and(img1, img2, dstAnd);
bitwise_or(img1, img2, dstOr);
bitwise_not(img1, dstNot);
bitwise_xor(img1, img2, dstXor);
imshow("dst add", dstAdd);
imshow("dst sub", dstSub);
imshow("dst mul", dstMul);
imshow("dst div", dstDiv);
imshow("dst and", dstAnd);
imshow("dst or", dstOr);
imshow("dst not", dstNot);
imshow("dst xor", dstXor);
waitKey(0);
}效果如下:
相关文章推荐
- 学习Opencv2.4.9(三)---图像的基本运算
- OpenCV 学习(图像的基本运算)
- 学习Opencv2.4.9(三)---图像的基本运算
- OpenCV 学习(图像的基本运算)
- 【OpenCV学习笔记】十一、基本图像运算
- OpenCV 学习(图像的基本运算)
- Opencv学习笔记三-直方图点运算(直方图基本点算子、直方图正规化、直方图均衡化)
- Opencv学习笔记--图像处理的基本操作
- opencv3学习笔记1--图像的基本操作
- opencv学习篇(4)Mat - 基本图像容器
- Python-OpenCV学习(四):基本图像处理
- 基于java(加eclipse)的OpenCV学习之二____图像加载、灰度图、开运算、画线、Canny检测
- opencv学习(二十八)之基本图像阈值操作threshold
- Opencv2系列学习笔记1(图像的基本操作)
- opencv2学习笔记(一)-Mat - 基本图像容器
- OpenCV 学习笔记 ----图像的基本操作(二)
- (未实用 需多个函数配套使用)opencv3.0 函数学习 10——morphologyEx 形态学图像处理:开运算、闭运算、形态学梯度、顶帽、黑帽合辑
- Qt上的OpenCV学习日记②之图像的基本操作(上)
- opencv学习(七)之图像卷积运算函数filter2D()
- OpenCV之bitwise_and、bitwise_not等图像基本运算及掩膜