美文网首页
零基础玩转AI(2)--图像基本操作

零基础玩转AI(2)--图像基本操作

作者: Magnetor | 来源:发表于2019-08-01 14:31 被阅读0次

上次我们已经总结过了图像的基本概念。抛开各种图像的文件格式和压缩算法,实际在内存中的图片,就是一个个的数字矩阵。对图片存储有疑问,可以去翻看我前一节的总结。本次我们总结下图片的基本操作--图片融合,图片拼接,图片对比度,亮度处理等。

首先,我们来考虑下图片拼接。既然图片是一个个数据矩阵,那是不是我们把2个数字矩阵接在一起,是不是就是图片相接呢?答案是肯定的。比如萌妹子的图片:

图片1 image 图片2 image 妹子图片对应的数字矩阵在右边,我们只需要把2个图片的数字矩阵拼接在一起,就实现了图片的拼接。我们把两个图片数字矩阵上下加起来: image

同样的,水平相接也一样。

其次,我们讨论下图片的融合。图片的融合是指2张或2张以上的图片,叠加在一起,形成一张图。是不是,我们只要把两张图的数字矩阵,直接在我们需要的位置,相加就行了呢?理论是这样的。但是考虑到uint8的取值范围只有255.所以,我们会赋予2张带计算的图一定的权重,这样也可以调节,每个图片的占比。


image

两张妹子图我们让右边的图,所占比重为0.2,左边为0.8,即可得到下面的图片。


image

最后,我们总结下图片的对比度,亮度等的处理。几乎所有的图像特征处理都离不开图像的卷积运算,不论是经典cv还是深度学习的CNN。当然,我们本次的例子也是为了引出卷积的应用和概念。

不用排斥,我们不会用大量的平移,反转,叠加这种摸不着头脑的解释。这个奇葩的解释明显就是看着公式定义的运算,说废话。至少我想要的是个直观的物理意义或几何意义。

卷积的概念其实非常非常简单,可以用四个字概括:加权平均和。是的,讲完了。


image

我们简单理解下这个公式。可以把f函数当作目标函数,g函数当作加权函数(或者叫系数,只是这个系数也是个函数而已)。公式的意义就可以理解为,g函数对f函数在x时间内的加权平均和。

这么说可能还有些抽象。我们把f函数当作图像矩阵,g函数当作卷积核。这个公式的作用,就是用卷积核逐步滑动整个图片,对每个滑动位置做加权平均和。如图:


image

我们假设左边的矩阵是图片原始数据,黄色的滑动矩阵为固定的卷积核。右边的粉色矩阵为卷积的运算结果。很明显可以看出,卷积过程,就是滑动卷积核在图像所有位置的加权平均和。卷积核各个位置的数值,就是我们的加权系数,也就是公式中的g函数。

在了解了卷积运算的定义之后,我们考虑如何增加一张图片的对比度。


image

我们考虑处理这张妹子图片。


image

实际上,我们通过这样的一个卷积核,对图像做卷积运算就可以增强图像的对比度了。增强图像的对比度,实际上就是改变图像矩阵相邻数据的像素差异。相邻像素的数值差异越大,表现出的图像对比度就越强。


image

通过这样的一个卷积运算后,明显可以把相邻像素的像素差异变大。稍微推下微分公式,相信不需要做过多解释了。明白了图像的卷积,就能针对图像做各种各样的处理了。
至于图像的亮度提高,我相信读者已经猜到了。对的,只要提高每个像素点的值,图片亮度就相应的提升了。

下次总结,我们总结下傅立叶变换推导和在图像的应用,图像的各种滤波,平滑去燥,以及图像的形态学操作。

相关文章

  • 零基础玩转AI(2)--图像基本操作

    上次我们已经总结过了图像的基本概念。抛开各种图像的文件格式和压缩算法,实际在内存中的图片,就是一个个的数字矩阵。对...

  • 撩课-学习地址

    撩课-从零玩转JavaScript 撩课-从零玩转Vue2.x-基础篇 撩课-从零玩转Vue+Node商城项目 撩...

  • 撩课-Web全栈+视频学习地址

    撩课-从零玩转JavaScript 撩课-从零玩转Vue2.x-基础篇 撩课-从零玩转Vue+Node商城项目 撩...

  • UI学习笔记2 --- AI 基础

    1. AI 基础及路径查找器 PS 和 AI 的区别: AI 基本操作: 案例制作: 路径查找器: cmd+shi...

  • 零基础玩转AI(3)--图像形态学处理

    上次我们总结了图像的卷积操作和一般的拼接,融合,处理了小美女的图片等。本次我们介绍下图像卷积的简单应用--平滑和形...

  • opencv图像基本操作(2)

    本文将会学习: Access pixel values and modify them 获取和修改像素值 Acce...

  • 零基础玩转 vim 视频教程

    零基础玩转 vim 视频教程(35 个视频) 零基础玩转 vim 视频教程 #01 三十分钟带你玩转 vim[ht...

  • OpenCV入门

    图像处理的基本操作  在图像处理的过程中,读取图像、显示图像和保存图像是最基本的操作 1. 读取图像 retval...

  • Opencv图像基础操作

    图像基础操作 图像在numpy.ndarray中的结构首先我们需要创建一幅2×2的3颜色通道图像: 其中在蓝通道B...

  • stm32固件库I2C操作

    stm32固件库I2C操作 来源: 野火<零死角玩转STM32-F407>

网友评论

      本文标题:零基础玩转AI(2)--图像基本操作

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