系列文章目录
第一章 python 下 opencv 接口的参数详解及使用(一)
第一章 python 下 opencv 接口的参数详解及使用(二)
第二章 python 下 opencv 的实现图像的基础数学计算
第三章 python 下 opencv 接口实现图像二值化,并小解二值化原理
文章目录
目录
前言
提示:这里可以添加本文要记录的大概内容:
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。
提示:以下是本篇文章正文内容,下面案例可供参考
一、对图像的数学运算
1、图像相加
接口:cv2.add(src1 , src2 , dst = None , mask = None , dtype = None)
作用:用于两张图像或者颜色相机;
参数:
。src1 :需要相加的第一幅图象文件;
。src2 :需要相加的第二幅图像文件,鉴于仅用于两图像的相加,所以需要通道和宽高相同;
。dst :两图相加后的结果图文件;
。mask :掩码(mask),可有可无
。dtype :相加结果图像的景深,此参数可有可无;
实现代码及成像效果:
import cv2
filename_1 = "image_1.bmp"
filename_2 = "image_2.bmp"
# 读入图像数据
image_1 = cv2.imread(filename = filename_1 ,flags= 1)
image_2 = cv2.imread(filename = filename_2 ,flags= 1)
image = cv2.add(src1 = image_1, src2 = image_2 )
# 对图像进行显示
cv2.imshow(winname = "image_1" , mat = image_1)
cv2.imshow(winname = "image_2" , mat = image_2)
cv2.imshow(winname = "image_show" , mat = image)
cv2.waitKey(0)
cv2.destroyAllWindows()
实现效果:
2、图像相加融合
接口:cv2.addWeighted(src1 , alpha , src2 , beta , gamma , dst = None , dtype = None)
作用:用于两张图像相加融合;
参数:
。src1 :需要相加的第一幅图象文件;
。alpha :第一个图文件的权重;
。src2 :需要相加的第二幅图像文件,鉴于仅用于两图像的相加,所以需要通道和宽高相同;
。beta:第二个图文件的权重;
。gamma :两张图相加后要增加的值,不要太大,不然图片一片白。总和等于255以上就是纯白色了;
。dst :两图相加后的结果图文件;
。dtype :相加结果图像的景深,此参数可有可无;
实现原理:
该接口主要实现以下公式内容:
公式中: 代表第一张图像;
代表第二张图像;其中
和
代表权重值,其中
代表需要再增加的值
实现代码及成像效果:
import cv2
filename_1 = "image_1.bmp"
filename_2 = "image_2.bmp"
# 读入图像数据
image_1 = cv2.imread(filename = filename_1 ,flags= 1)
image_2 = cv2.imread(filename = filename_2 ,flags= 1)
image = cv2.addWeighted(src1 = image_1, alpha = 0.3 , src2 = image_2 , beta = 0.4 , gamma = 0.5)
# 对图像进行显示
cv2.imshow(winname = "image_1" , mat = image_1)
cv2.imshow(winname = "image_2" , mat = image_2)
cv2.imshow(winname = "im