图像的上采样、下采样

一、欠采样与过采样

过采样欠采样是针对一组图像数据集来说的,而上采样下采样是对与单张图片来说的。

欠采样(undersampling):

当数据不平衡的时,比如样本标签1有10000个数据,样本标签0有6000个数据时,为了保持样本数目的平衡,可以选择减少标签1的数据量,这个过程就叫做欠采样。

过采样(oversampling):

减少数据量固然可以达到以上效果,并且在一定程度上防止过拟合,但是这也牺牲了数据,因此存在另一种增加样本的采样方法,也就是增加标签0的样本数

二、图像重采样

包含两种情形,一种是下采样(downsampling),把图像变小;另一种是上采样(upsampling),把图像变大

2.1下采样——缩小图像

(或称为下采样(subsampling)或降采样(downsampling))的主要目的有两个:

  • 1、使得图像符合显示区域的大小;
  • 2、生成对应图像的缩略图。

对于一幅图像I尺寸为MN,对其进行s倍下采样,即得到(M/s)(N/s)尺寸的得分辨率图像,当然s应该是M和N的公约数才行,如果考虑的是矩阵形式的图像,就是把原始图像s*s窗口内的图像变成一个像素,这个像素点的值就是窗口内所有像素的均值
在这里插入图片描述

matlab实现:

img = imread('lena.tif');
[height,width,~]  =size(img);
% 使用2种方法进行下采样
sub_1 = img(1:2:end,1:2:end)
sub_2 = imresize(img,[height/2,width/2],'bilinear');

对512x512的lenagray.jpg图像分别采样为256x256、128x128、64x64的图像

1=imread('***/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');

根据Nyquist采样定律,采样频率大于等于2倍的图像的最大频率。
在这里插入图片描述

对于高清图片,如果直接采样,采样频率很高。
如果先对图像进行模糊化处理(高斯滤波),就可以降低采样频率了,
最后进行次级采样(sub-sampling,即每隔一个,扔掉行和列,创建一个更小的图像。),就可以得到小一倍的图片了。
总结:下采样=高斯滤波+次级采样
在这里插入图片描述
高斯金字塔(Gaussian pyramids)
在下采样过程中图,所有模糊化处理之前的图片构成一个高斯金字塔。最底层为原图。
在这里插入图片描述
高斯金字塔实际上是图像的多尺度表示法。模仿人眼在近处看到的图像细致,对应金字塔底层;在远处看到图像较为模糊,但可以看到整个轮廓,对应金字塔顶层。

2.2 上采样——放大图像

(或称为上采样(upsampling)或图像插值(interpolating))的主要目的是放大原图像,从而可以显示在更高分辨率的显示设备上。
(二)上采样
图像放大几乎都是采用内插值方法,即在原有图像像素的基础上在像素点之间采用合适的插值算法插入新的元素。

插值算法分类
对插值算法分类比较混乱,各人有各人的分类算法。文献《图像插值技术综述》中简略的将插值算法分为传统插值、 基于边缘的插值和基于区域的插值3类,作为初学者入门明晰插值算法还是有帮助。

2.2.1传统差值原理和评价

在传统图像插值算法中,邻插值较简单,容易实现,早期的时候应用比较普遍。但是,该方法会在新图像中产生明显的锯齿边缘和马赛克现象双线性插值法具有平滑功能,能有效地克服邻法的不足,但会退化图像的高频部分,使图像细节变模糊。在放大倍数比较高时,高阶插值,如双三次和三次样条插值等比低阶插值效果好。这些插值算法可以使插值生成的像素灰度值延续原图像灰度变化的连续性,从而使放大图像浓淡变化自然平滑。但是在图像中,有些像素与相邻像素间灰度值存在突变,即存在灰度不连续性。这些具有灰度值突变的像素就是图像中描述对象的轮廓或纹理图像的边缘像素。在图像放大中,对这些具有不连续灰度特性的像素,如果采用常规的插值算法生成新增加的像素,势必会使放大图像的轮廓和纹理模糊,降低图像质量。

2.2.2 基于边缘的图像插值算法

为了克服传统方法的不足, 提出了许多边缘保护的插值方法,对插值图像的边缘有一定的增强, 使得图像的视觉效果更好, 边缘保护的插值方法可以分为两类: 基于原始低分辨图像边缘的方法和基于插值后高分辨率图像边缘的方法。基于原始低分辨率图像边缘的方法:

( 1)首先检测低分辨率图像的边缘, 然后根据检测的边缘将像素分类处理, 对于平坦区域的像素,采用传统方法插值;对于边缘区域的像素, 设计特殊插值方法,
以达到保持边缘细节的目的。

(2)基于插值后高分辨率图像边缘的方法这类插值方法:首先采用传统方法插值低分辨率图像,然后检测高分辨率图像的边缘,最后对边缘及附近像素进行特殊处理, 以去除模糊, 增强图像的边缘。

2.2.3 基于区域的图像插值算法

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

对图像的缩放操作并不能带来更多关于该图像的信息,因此图像的质量将不可避免地受到影响。然而,确实有一些缩放方法能够增加图像的信息,从而使得缩放后的图像质量超过原图质量的。

发布了465 篇原创文章 · 获赞 694 · 访问量 96万+

猜你喜欢

转载自blog.csdn.net/mao_hui_fei/article/details/104134866