1. Scale功能的Matlab实现
1.1. Scale概念
VGA显卡内部有一个Scale的IC,以至于能实现各种分辨率的模式的显示。不过底层的的LCD肯定分辨率是唯一的,比如1920*1080。输入小图像的时候,通过Scale功能,来适应LCD的输出。
现在有一种算法:超分辨率(Super-Resolution),即通过硬件或软件的方法提高原有图像的分辨率,通过一系列低分辨率的图像来得到一幅高分辨率的图像过程就是超分辨率重建。超分辨率重建的核心思想就是用时间带宽(获取同一场景的多帧图像序列)换取空间分辨率,实现时间分辨率向空间分辨率的转换。
当然,我做的没有这么高级,目前做的只是最简单的缩放功能,而且只测试了放!直接将1920*1200的图像放大了2倍。
1.2. Scale算法的实现
1.2.1. 算法实现流程
实现流程如下:
(1)读取衣服固定分辨率的IMG1
(2)分配2倍行列的内存IMG2
(3)进程1
a) 直接将原来图像的数值分配到IMG2的偶数行,偶数列中
b) 填充偶数行的奇数列像素
i. 第一个像素直接镜像赋值第二个像素
ii. 随后每一个奇像素=(前一个偶数像素+后一个偶数像素)/2
(4)进程2
a) 第一行直接镜像赋值第二行
b) 随后的每一行像素=(上一行对应像素+下一行对应像素)/2
1.2.2. Matlab代码
% -----------------------------------------------------------------------
% 映射每个偶数行偶数列的像素