⼀、加法运算
在图像处理过程中,经常需要对图像进⾏加法运算。可以通过加号运算符“+”对图像进⾏加法运算,也可以通过cv2.add()函数对图像进
⾏加法运算。
二.加权和
图像加权和就是在计算两幅图像的像素值之和时,需要将每幅图像的权重都考虑进来。具体的表达式应该是
dst = cv2.addWeighted(src1,alpha,src2,beta,gamma)
第一个参数是求加权和的第一幅图像。第二个参数是,这幅图像所对应的比例。第三个参数是第二幅图像。第四个参数是第二幅图像所占的比例。第五个参数是调节的亮度,也可以把它理解成偏移量。
同样需要注意求加权和的两幅图像大小。类型必须相同。但对具体是什么类型并没有限制,可以是任意的数据类型。可以是灰度图,也可以是彩色图,也可以是有任意数量的通道,只要两者相同即可。加权法适合进行融合。
三.按位逻辑运算
常见的位运算函数有按位与,按位或,按位异或,按位取反。
1.按位与
两个逻辑值都为真时才为真,其余均为假。对于两个数值按位与运算来说,需要将十进制转换为二进制。其语法格式是dst = cv2.bitwise_and(src1,src2[,mask])
其中mask掩膜参数是可选的。
2.按位或
两个逻辑之中有一个为真时,结果就为真,只有均为假时,结果才为假。语法格式为dst = cv2.bitwise_or(src1,src2[,mask])
3.按位异或
只有两个运算数不相同时才为真。语法格式为dst = cv2.bitwise_xor(src1,src2[,mask])
4.按位取反
运算数为真时,结果为假。运算数为假时结果为真。语法格式为 dst = cv2.bitwise_not(src1[,mask])
四.掩膜
在add函数中第三个参数就是掩膜。操作就是将相加的和再与掩膜进行按位与。来达到只显示感兴趣的部分的目的。掩膜是用选定的图形、图像或物体,对处理的图像(全部或局部)进行遮挡,已到达控制图像处理区域和控制图像处理过程的目的。
掩膜的主要用途:
1 提取感兴趣的区域;2 屏蔽作用;3 结构特征提取;4 特殊形状图像的制作
可以通过一步按位与操作即可完成。
五、图像的加密解密(两步按位异或)
对于二进制的图像某一位置取值只有0和1两个选项。
图像的加密、解密过程就非常容易表达了。
src代表原图,key代表密钥,第一步异或操作如下
src 0 0 1 1
key 0 1 0 1
val 0 1 1 0
再将val与密钥key再进行一次异或操作
val 0 1 1 0
key 0 1 0 1
rst 0 0 1 1
得到rst与原图相同。因此只需要掌握密钥即可达到加密的效果。