关注“深度学习冲鸭”,一起学习一起冲鸭!
设为星标,第一时间获取更多干货
今天我们一起学习的是OpenCV中的图像的计算,在图像计算中,分为像素级运算和代数运算这两大类,今天我们借助OpenCV中的函数一起来看看这些运算。
像素级运算中非常常用的就是点运算,之前的文章中说过的让一张图片反转颜色其实就是点运算来实现的。点运算我们一般将其分为三大类:
线性点运算、非线性点运算、映射表点运算
点运算有以下的几个特点:
1:点运算针对图像中的每一个像素灰度,独立地进行灰度值的改变,换句话说,点运算实际上是一种在灰度程度上进行的变换,这是前提。
2:输出图像中每个像素点的灰度值,仅取决于相应输入像素点的值
3:点运算不改变图像内的空间关系
4:从像素到像素的操作
5:点运算可完全由灰度变换函数或灰度映射表确定
具体的例子可以参照之前的文章进行试验,这里不再赘述
代数运算最常见的是加、减、乘、除这四类,整个代数运算对图片的要求挺高的,首先要尺寸大小相同,然后图片的体积不能太大,如果太大运算起来很费时间。
加法运算的计算公式如下:
C(x,y) = A(x,y) + B(x,y)
其实就是将A,B两张图片每个像素值相加得到一张新的图片,图像加法在图像合成方面用的比较广泛。假如我们将两个图像f(x,y)和h(x,y)进行以下处理:
g(x,y) = 0.5f(x,y) + 0.5h(x,y)
这样图像会得到类似二次曝光的效果
将这个公式进行推广:
g(x,y) = αf(x,y) + βh(x,y) 其中α+β= 1
然后合理的调节α,β的值,我们可以将两张图片进行合成,并且效果很不错
接下来我们使用OpenCV来进行一下操作:
在OpenCV中提供了一些图片进行试验:
找到你相应的安装OpenCV的路径,然后按照图片进行查找即可:
在这里我们选择其中的LinuxLogo和WindowsLogo进行运算,我们定义一个函数,按照以下调用即可:
结果如下:
减法我们可以看做是加法的反例,减法主要用来去除不需要的叠加性图案
或者检测同一场景两幅图像之间的变化。
调用方法如下:
每天进步一丢丢
下载一:中文版!学习TensorFlow、PyTorch、机器学习、深度学习和数据结构五件套! 后台回复【五件套】
下载二:南大模式识别PPT 后台回复【南大模式识别】
整理不易,还望给个在看!