先说“缩”
一般来说,对大图进行缩小比较简单,根据缩放比例,选择部分数据,放弃部分数据就完成了。比如缩小到原图的1/2,直接选择按照奇偶行列,保留奇行奇列,放弃偶行偶列就可以了。
再说“放”
放大图片就比较麻烦了,原本只有100×100的图片,要放大到200×200,那多余的100行,100列从何而来呢?
保持原来相邻像素的连续性就特别重要,否则中间凭空突出一个黑点白点的,怎么受得了。
插值,基本上有两种:
第一种,按照“最邻近原则”,选择最近的像素灰度作为“空隙像素”的灰度。算法简单速度较快,缺点:在放大比例较大情况下,会有“马赛克”情况(也就是有码大图,嘿嘿)
第二种,采用比较复杂的线性,非线性插值算法,优点:空隙像素过渡自然;缺点:用时较长,运算较慢。