欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

上采样和下采样,插值和抽取

程序员文章站 2022-06-09 12:10:57
...
%将界面上的内容全部清空
clc;
clear;
close all;
I1=imread('D:/Mypicture/lenagray.jpg');%将磁盘存放的图片读入程序
I2=I1(1:2:end,1:2:end);%每2位采集1位
I3=I1(1:4:end,1:4:end);%每4位采集1位
I4=I1(1:8:end,1:8:end);%每8位采集1位
%显示图片
figure;
subplot(2,2,1),imshow(I1),title('512X512');  
subplot(2,2,2),imshow(I2),title('256X256');  
subplot(2,2,3),imshow(I3),title('128X128');
subplot(2,2,4),imshow(I4),title('64X64');

 

1.上采样:又叫图像插值,或者放大图像。主要目的就是放大图像,可以显示在更高分辨率的显示设备上。如果升采样系数为k,即在原图n与n+1两点之间插入k-1个点,使其构成k分。二维插值即在每行插完之后对于每列也进行插值。 

(1)传统插值方法:最近邻插值,双线性插值,双三次插值。为了克服传统插值的平滑效应,又出现了基于边缘的图像插值算法和基于对象的图像插值算法。

最近邻插值是取采样点周围四个相邻像素点中距离最近的一个邻点的灰度值作为该点灰度值的方法。最近邻插值算法速度最快,但会产生明显锯齿和马赛克现象。

双线性插值利用周围四个邻点的灰度值在两个方向上做线性插值得到采样点的灰度值。这种方法在很大程度上消除了锯齿现象,但在边缘上变得较为模糊。

(2)基于边缘的图像插值算法

传统的插值方法虽然方法简单快速,但由于它们具有低通滤波的作用,往往造成图像边缘轮廓模糊。针对传统方法的优缺点,不同的学者提出了很多基于图像边缘的插值方法。这类插值方法的基本观点是:在非边缘区域,用传统的图像插值方法效果已经很好,且处理速度快、计算量小,因而在非边缘区域采用传统的插值方法;而在图像的边缘区域,采用特殊的插值方法,以增强边缘,有效保存了图像的细节。
(3)基于区域的图像插值算法

首先将原始低分辨率图像分割成不同区域,然后将插值点映射到低分辨率图像, 判断其所属区域, 最后根据插值点的邻域像素设计不同的插值公式, 计算插值点的值。

2.下采样:又名缩小图像,即采样点数减小。对于一副n*m的图像来说,如果下采样的系数为k,则即是在原图中每行每列每隔k个点取一点组成一副图像。

它的目的有两个:(1)使图像符合显示区域的大小。

                             (2)生成对应图像的缩略图。