这篇教程Python实现RGB等图片的图像插值算法写得很实用,希望能帮到您。
前言问题:我们在放大图片的过程中,放大的目标图像和原图图像之间会存在不同。 放大的基本思想: 第一步: 将目标图像进行缩小到原图像的尺寸,虚拟的将二者进行对重叠在一起,这样目标图像上面的像素点就和原图像上面的像素点并不是一一对应的。 第二步: 将目标图像与原图像的像素点进行建立一个映射关系,这个像素点的映射关系不是单一的像素映射,因为我们把图片存放在三维数组里面,所以我们在得到图像的像素点时,我们是通过索引数组的高和宽,在坐标系中对应的就是x坐标、y坐标. 第三步: 怎样建立映射关系呢? - 最临近插值法
- 线性插值法
- 双线性插值法
- 三线性插值法
本文中用到了前面三种插值算法,并且进行了代码实现,代码仅供参考,大佬随便看一下小菜鸡的就行了,还希望大佬能指出其中的错误或不足之处,跪谢。
RGB彩色图像和数组理解对于这个图片读取到数组中形成的三维数组,我刚理解了很久,在网上找大佬的资料自己看等等,然后慢慢的才形成了自己的理解,大佬们都是纵说纷纭,自己走了很多弯路,这里吧我的理解写下来,第一,方便自以后学习查看;第二,方便和我一样的初学者理解。 先话不多说,直接上一个图: 
这里我直接把彩色图片的三个通道数画成了三位图片显示出来方面自己理解。彩色图片是三通道的,分别为R、G、B,这三个通道的重叠,通过调节每个通道数灰度值的亮度,从而构成了五颜六色的彩色世界!! 红色区域为第0通道(R),以此类推,第1通道(G)、第2通道(B)。读取回来的数组是一个三维数组,这个三维数组又分为了很多二维矩阵,每个二维矩阵有三个列(三个通道)。上图中有多少个i(高h),就表示三维数组中有多少个二维数组,有多少个j(宽h),就表示二维数组有多少个行,通道数k表示通道数,彩色图像有三个通道,所以 k 是个固定值 3。 数组中的值怎么理解 Python函数中4种参数的使用教程 python实现bilibili动画下载视频批量改名功能 |