参考文章:
https://blog.csdn.net/majinlei121/article/details/46742339
https://blog.csdn.net/Chaolei3/article/details/80225756
https://blog.csdn.net/h763247747/article/details/100135924
https://blog.csdn.net/qq_29566629/article/details/100183924
https://www.cnblogs.com/mrxsc/p/6366518.html
1、采样定理(奈奎斯特定理):只要采样频率高于信号最高频率的两倍,就可以从采样信号中恢复出原始信号。
2、过采样和欠采样
1)采样频率高于信号最高频率的两倍,这种采样被称为过采样。
过采样定义:就是用高于nyquist频率进行采样,好处是可以提高信噪比,缺点是处理数据量大 。过采样是使用远大于奈奎斯特采样频率的频率对输入信号进行采样。设数字音频系统原来的采样频率为fs,通常为44.1kHz或48kHz。若将采样频率提高到R×fs,R称为过采样比率,并且R>1。在这种采样的数字信号中,由于量化比特数没有改变,故总的量化噪声功率也不变,但这时量化噪声的频谱分布发生了变化,即将原来均匀分布在0 ~ fs/2频带内的量化噪声分散到了0 ~ Rfs/2的频带上。若R>>1,则Rfs/2就远大于音频信号的最高频率fm,这使得量化噪声大部分分布在音频频带之外的高频区域,而分布在音频频带之内的量化噪声就会相应的减少,于是,通过低通滤波器滤掉fm以上的噪声分量,就可以提高系统的信噪比。但是单靠这种过采样方式来提高信噪比的效果并不明显,所以,还得结合噪声整形技术。直观上讲:采样后的信号是原来的信号 频域延拓叠加,限带信号通常是离中心频率越远,幅度越低,因此采样率越高混叠的情况越小.
过采样目的:就是要改变的噪声的分布,减少噪声在有用信号的带宽内,然后在通过低通滤波器滤除掉噪声,达到较好的信噪比,一般用在sigma-deltaDAC 或者ADC里面。
过采样作用:能将噪声扩展到更高的频率,通过低通滤波器后,可使得基带内的SNR提高 。
过采样意义:1.提高时域分辨力从而获得更好的时域波形;
2.提高滤波器的处理增益,当在频域上滤波时,滤波器的设计变得更容易;
3.提高信噪比,匹配滤波时更好地收集波形能量;
4.抑制镜像,使上变频更容易,降低对后级DA转换的保持时间要求;
5.需要fractional sampling timing时是必需的.
过采样应用:D/A转换,但不一定非要过采样,过采样的技术一般用在低速(几十K到数M)高精度(如16bit 18bit …)的情况。DA过采样可以用线性插值实现。
2)采样频率低于信号最高频率的两倍,这种采样被称为欠采样。
欠采样是在测试设备带宽能力不足的情况下,采取的一种手段,相当于增大了测试设备的带宽, 从而达到可以采样更高频率信号的能力。根据采样理论,对复杂信号(由数种不同频率的分量信号组成)进行采样时,如果采样时钟频率不到信号中最大频率的两倍,则会出现一种称为“混叠”的现象。当采样时钟频率足够低时,则导致一种称为“欠采样”的混叠。一个带宽为fb的模拟信号,采样速率必须为 fs > 2fb,才能避免信息的损失。实际所需最小采样频率是信号带宽的函数,而不仅取决于它的最大频率成份。通常来说,采样频率至少必须是信号带宽的两倍,并且被采样的信号不能是 fs/2 的整数倍,以防止混叠成份的相互重叠。欠采样是软件无线电应用中一个非常有用的工具,但是必须十分仔细和小心才能获得良好的性能。
3、基带信号和频带信号的采样
过采样和欠采样是针对一组图像数据集来说的,而上采样和下采样是对与单张图片来说的。
欠采样(undersampling):当数据不平衡的时,比如样本标签1有10000个数据,样本标签0有6000个数据时,为了保持样本数目的平衡,可以选择减少标签1的数据量,这个过程就叫做欠采样。
过采样(oversampling)减少数据量固然可以达到以上效果,并且在一定程度上防止过拟合,但是这也牺牲了数据,因此存在另一种增加样本的采样方法,也就是增加标签0的样本数,最经典的过采样算法就是SMOTE(https://blog.csdn.net/u010412858/article/details/80151516),这里就不深入介绍了。
包含两种情形,一种是下采样(downsampling),把图像变小;另一种是上采样(upsampling),把图像变大。(算法对比:https://clouard.users.greyc.fr/Pantheon/experiments/rescaling/index-en.html)
缩小图像(或称为下采样(subsampling)或降采样(downsampling))的主要目的有两个:
1、使得图像符合显示区域的大小;
2、生成对应图像的缩略图。
放大图像(或称为上采样(upsampling)或图像插值(interpolating))的主要目的是放大原图像,从而可以显示在更高分辨率的显示设备上。对图像的缩放操作并不能带来更多关于该图像的信息,因此图像的质量将不可避免地受到影响。然而,确实有一些缩放方法能够增加图像的信息,从而使得缩放后的图像质量超过原图质量的。
对于一幅图像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)
在下采样过程中图,所有模糊化处理之前的图片构成一个高斯金字塔。最底层为原图。
高斯金字塔实际上是图像的多尺度表示法。模仿人眼在近处看到的图像细致,对应金字塔底层;在远处看到图像较为模糊,但可以看到整个轮廓,对应金字塔顶层。
图像放大几乎都是采用内插值方法,即在原有图像像素的基础上在像素点之间采用合适的插值算法插入新的元素。
插值算法分类
对插值算法分类比较混乱,各人有各人的分类算法。文献《图像插值技术综述》中简略的将插值算法分为传统插值、 基于边缘的插值和基于区域的插值3类,作为初学者入门明晰插值算法还是有帮助。
1.传统差值原理和评价
在传统图像插值算法中,邻插值较简单,容易实现,早期的时候应用比较普遍。但是,该方法会在新图像中产生明显的锯齿边缘和马赛克现象。双线性插值法具有平滑功能,能有效地克服邻法的不足,但会退化图像的高频部分,使图像细节变模糊。在放大倍数比较高时,高阶插值,如双三次和三次样条插值等比低阶插值效果好。这些插值算法可以使插值生成的像素灰度值延续原图像灰度变化的连续性,从而使放大图像浓淡变化自然平滑。但是在图像中,有些像素与相邻像素间灰度值存在突变,即存在灰度不连续性。这些具有灰度值突变的像素就是图像中描述对象的轮廓或纹理图像的边缘像素。在图像放大中,对这些具有不连续灰度特性的像素,如果采用常规的插值算法生成新增加的像素,势必会使放大图像的轮廓和纹理模糊,降低图像质量。
2.基于边缘的图像插值算法
为了克服传统方法的不足, 提出了许多边缘保护的插值方法,对插值图像的边缘有一定的增强, 使得图像的视觉效果更好, 边缘保护的插值方法可以分为两类: 基于原始低分辨图像边缘的方法和基于插值后高分辨率图像边缘的方法。基于原始低分辨率图像边缘的方法:( 1)首先检测低分辨率图像的边缘, 然后根据检测的边缘将像素分类处理, 对于平坦区域的像素,采用传统方法插值;对于边缘区域的像素, 设计特殊插值方法,
以达到保持边缘细节的目的。(2)基于插值后高分辨率图像边缘的方法这类插值方法:首先采用传统方法插值低分辨率图像,然后检测高分辨率图像的边缘,最后对边缘及附近像素进行特殊处理, 以去除模糊, 增强图像的边缘。
3.基于区域的图像插值算法
首先将原始低分辨率图像分割成不同区域,然后将插值点映射到低分辨率图像, 判断其所属区域, 最后根据插值点的邻域像素设计不同的插值公式, 计算插值点的值。