概述
Fu Xianjun. All Rights Reserved
目录
一. 图像算术运算
二. 实现PS:图像调整
三. 图像逻辑运算
四. 隐藏的秘密:数字水印
1.图像的加减乘除
针对图像的加法运算、位运算都是比较基础的运算。但是,很多复杂的图像处理功能正是借助这些基础的运算来完成的。所以,牢固掌握基础操作,对于更好地实现图像处理是非常有帮助的。本章简单介绍了加法运算、位运算,并使用它们实现了位平面分解、图像异或加密、数字水印、脸部打码/解码等实例
如果两个图像对应像素值的和小于或等于255,则直接相加得到运算结果。例如,像素值28和像素值36相加,得到计算结果64
如果两个图像对应像素值的和大于255,则将运算结果对256取模。例如255+58=313,大于255,则计算(255+58)% 256= 57,得到计算结果57
当然,上述公式也可以简化为a + b = mod(a + b,256),在运算时无论相加的和是否大于255,都对数值256取模
加法
减法
乘法
除法
2.实现PS:图像调整
所谓图像加权和,就是在计算两幅图像的像素值之和时,将每幅图像的权重考虑进来,可以用公式表示为:
dst = saturate(src1xa +src2xβ+r)
式中,saturateO表示取饱和值(最大值)。图像进行加权和计算时,要求src1和src2必须大小、类型相同,但是对具体是什么类型和通道没有特殊限制。它们可以是任意数据类型,也可以有任意数量的通道(灰度图像或者彩色图像),只要二者相同即可。
OpenCV中提供了函数cv2.addWeighted0,用来实现图像的加权和(混合、融合),该函数的语法格式为:
dst-cv2. addWeighted(srcl, alpha, src2, beta, gamma)
3.图像逻辑运算
逻辑运算是一种 非常重要的运算方式,图像处理过程中经常要按照位进行逻辑运算,本节介绍OpenCV中的按位逻辑运算,简称位运算
常见的位运算函数:
cv2.bitwise and(): 按位与
cv2.bitwise or():按位或
cv2.bitwise xor():按位异或
cv2.bitwise_ not():按位取反
4. 隐藏的秘密:数字水印
这种信息隐藏也被称为数字水印,通过该方式可以实现信息隐藏、版权认证、身份认证等功能。例如,如果嵌入载体图像内的信息是秘密信息,就实现了信息隐藏:如果嵌入载体图像内的信息是版权信息,就能够实现版权认证:如果嵌入载体图像内的信息是身份信息,就可以实现数字签名,等等。所以,被嵌入载体图像内的信息也被称为数字水印信息。
数字水印信息可以是文本、视频、音频等多种形式,这里我们仅讨论数字水印信息是二值图像的情况
从位平面的角度考虑,数字水印的处理过程分为下面两步:
嵌入过程:将载体图像的第0个位平面替换为数字水印信息(一幅二值图像)。
提取过程:将载体图像的最低有效位所构成的第0个位平面提取出来,得到数字水印信息
最后
以上就是友好酸奶为你收集整理的OpenCV之图像运算的全部内容,希望文章能够帮你解决OpenCV之图像运算所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复