美文网首页
CV学习笔记(四):图像的计算

CV学习笔记(四):图像的计算

作者: 云时之间 | 来源:发表于2020-01-23 22:31 被阅读0次

    今天我们一起学习的是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进行运算,我们定义一个函数,按照以下调用即可:

    结果如下:

    减法

    C(x,y) = A(x,y) - B(x,y)

    减法我们可以看做是加法的反例,减法主要用来去除不需要的叠加性图案

    或者检测同一场景两幅图像之间的变化。

    调用方法如下:

    让我们看看结果:

    乘法

    C(x,y) = A(x,y) × B(x,y)

    乘法主要用在图像的局部显示,同时可以用二值蒙板图像与原图像做乘法,通常来说就是加滤镜。。。

    OpenCV中乘除法的操作方法:

    结果如下:

    这里说一下为什么不写一下除法,因为每个像素点取值0-255,一相除以后没有多少数值了,所呈现出来的图像也没有什么有效信息,所以我们一般不怎么使用除法。

    三:逻辑运算(求反、异或、或、与)

    1)求反的定义

    g(x,y) = R - f(x,y)

    R为f(x, y)的灰度级。

    可以应用在:

    获得一个图像的负像

    获得一个子图像的补图像

    2)异或运算的定义

    g(x,y) = f(x,y) or h(x,y)

    主要应用举例

    获得相交子图像

    3)与运算的定义

    g(x,y) = f(x,y) and h(x,y)

    主要应用

    求两个子图像的相交子图

    在OpenCV中的操作如下:

    得到的结果如下:

    四:尾巴

    在上边的一些操作中,可以看到我基本没有写代码,直接调用OpenCV即可,如今的代码库多种多样,开源的数不胜数,可以说让我们进入了傻瓜编程阶段,并且在OpenCV中,越来越多的函数命名更加直接,极大地简化了我们的操作,我们可以有更多的精力放在算法优化上,而不是在写无穷无尽的程序。其实数字图像处理本身的算法理论很简单,但是一但实际操作起来,问题反而不少,各位希望可以多找几幅图像尝试一下,自己分析一下,相信会有更多的收获!

    在中华文化里,鼠乃十二生肖之首,进入鼠年就代表着开始新一轮生肖纪年,也寓意着新的开端,给大家提前拜一个早年!奋斗创造历史,实干成就未来,希望和大家在新的一年里一起努力,共同成长,也感谢大家的支持!

    相关文章

      网友评论

          本文标题:CV学习笔记(四):图像的计算

          本文链接:https://www.haomeiwen.com/subject/nzkazctx.html