excel学习库

excel表格_excel函数公式大全_execl从入门到精通

轻松理解图像缩放算法!最邻近插值&&双线性内插值!

写在最前:用最简单的方式,讲述最深刻的知识。 %%%%%%% %%%%%%% %%%%%%% %%%%%%% %%%%%%% %%%%%%% 图像的缩放,对于大家来说一定是个非常熟悉的过程了:最简单直接的,就是双手按住触屏手机,手指外滑/内滑,就可以实现了。对于设计方向的小伙伴,通过PS,绘图,或者任何一中编程语言,都有非常方便的方法可以实现。 那现在不妨想一想,这简单效果背后,是怎样的算法思想呢?今天,将以一种非常简单、直接的方式,为大家描述图像缩放算法的基本思想。 我们首先需要大概理解一下图像的概念:有一种图形格式(位图),是利用像素点的方式,表述该点的颜色,看下面的图。4行,七列(阿拉伯数字表示行,汉语数字表示列),一共28位小朋友排成的队伍,每个小朋友有不同的颜色。这样的一个简单的排列,就是我们常见的4px*7px的图片啦,一共是28个像素点,如果小朋友个数,即像素点个数,足够多的话,就可以形成各种有意思的图片了。pic1. 小朋友像素阵列! 理解了位图图片的基本概念之后,现在开始讨论缩放的问题。为了使问题简化,我们考虑更简单的情况:只有1行小朋友的时候,如下图所示:pic2. 单行像素阵列!我们知道,每个小朋友都是有“宽度”的,即其所占空间的大小,记为d1(可记为d1=1),则七位小朋友占总的空间大小:D1=7*d1=7 图像缩放,即在占据相同空间(D1=D2=7)的情况下,用5个(随便举的例子)小朋友实现排列,那么每个小朋友所占的空间大小就发生了变化:d2=D2/5=1.4。这样看来,每个小朋友都应该变胖了一些才对,请看下图:pic3. 单行缩放!这样的效果,即把图像缩小成原来图像的5/7,只用5个像素点来表示之前7个点需要表示的数据。 理解这些之后,需要面临一个非常关键的问题了:下面的五位小朋友,应该怎样对它们进行颜色的选取呢?从上图我们可以发现,上下两列队伍已经对齐,下面这一列的每个小朋友,在横向上,都处在上面这一列两个小朋友之间,为了更加明确地表述,见下图: pic4. 最临近关系?则,下面的小朋友的颜色,应该是上面左右两个小朋友之间进行选择! 算法一:最邻近插值! 顾名思义,和哪个小朋友更接近,就选择哪一个!即上图所示内容。可以看到,我们丢失了部分信息,但是整体的颜色,和原图像是基本相同的! 算法二:双线性内插值! 这个名称有点不好理解。我们暂且忽略其称呼,简单理解起来,即综合考虑左右两边的情况,按距离的远近进行综合取舍。具体情况见下图所示: pic5. 左右逢源的选择!这样看来,所得到的新图形的颜色,和之前的图形之间,是不是还原度更高呢?并且连算法一中丢失掉的绿色,也部分地保留了下来。 这样得到的图形,也会更加地平滑。 这样,大家应该都明白算法的核心内容了吧?至于怎样用代码实现,以及选择什么语言更加方便,就见仁见智了! 至于最初28个小朋友,如果行数变成3行,经过变换之后的图形是怎样的呢? 用最简单的方式,讲述最深刻的知识结构! 欢迎关注!

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年12月    »
1
2345678
9101112131415
16171819202122
23242526272829
3031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
      友情链接