一、欠采样与过采样

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

欠采样(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 基于区域的图像插值算法

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

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

图像的上采样、下采样相关推荐

  1. 卷积神经网络 池化层上采样(upsampling、interpolating)、下采样(subsampled、downsampled)是什么?(上采样为放大图像或图像插值、下采样为缩小图像)

    缩小图像:或称为下采样(subsampled)或降采样(downsampled) 主要目的有两个:1.使得图像符合显示区域的大小:2.生成对应图像的缩略图. 放大图像:或称为上采样(upsamplin ...

  2. 过采样与欠采样图像重采样(上采样下采样)

    参考文章: https://blog.csdn.net/majinlei121/article/details/46742339 https://blog.csdn.net/Chaolei3/arti ...

  3. 深度学习上采样下采样概念以及实现

    #pic_center =400x 系列文章: 文章目录 参考博客 概念 上采样 下采样 实现 上采样 下采样 参考博客 [深度学习]上采样,下采样,卷积 torch.nn.functional.in ...

  4. 降采样,下采样,池化

    概念 缩小图像(或称为下采样(subsampled)或降采样(downsampled))的主要目的有两个:1.使得图像符合显示区域的大小:2.生成对应图像的缩略图. 放大图像(或称为上采样(upsam ...

  5. 重采样 上采样 下采样

    重采样的原理: 重采样主要是分为上采样和下采样,在进行采样的过程中,需要注意采样的倍率的问题,并不是可以随意的改变采样率的大小的,根据采样定理:在进行模拟/数字信号的转换过程中,当采样频率fs.max ...

  6. 卷积 反卷积 上采样 下采样 区别

    1.卷积 就是利用卷积核  步长前进 卷积整个图片 2.反卷积 反卷积的具体操作 原图输入尺寸为[1,3,3,3]对应[batch_size,channels,width,height] 反卷积tco ...

  7. python下采样_python + opencv 如何在上采样下采样之后导出图片?

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 import cv2 def pyramid_demo(image): level = 3 temp = image.copy() pyramid_ima ...

  8. opencv隔点采样(下采样)

    1.先验知识 对灰度图像来说,img.step[0]代表图像一行的的长度:img.step[0]=img.cols; img.step[1]代表图像一个元素的数据大小:img.step[0]=img. ...

  9. 图像的上采样和下采样

    图像的上采样(upsampling)与下采样(subsampled) 缩小图像(或称为下采样(subsampled)或降采样(downsampled))的主要目的有两个: 1.使得图像符合显示区域的大 ...

  10. 上采样(放大图像)和下采样(缩小图像)(最邻近插值和双线性插值的理解和实现)

    上采样和下采样 什么是上采样和下采样? • 缩小图像(或称为下采样(subsampled)或降采样(downsampled))的主要目的有 两个:1.使得图像符合显示区域的大小:2.生成对应图像的缩略 ...

最新文章

  1. 看闯关东原来知道古代已经十六进制了
  2. oracle函数 case,oracle的case函数和case控制结构 (摘)
  3. python网络爬虫实战 吕文翔_实战Python网络爬虫
  4. ASCII码、ISO8859-1、Unicode、GBK和UTF-8 的区别
  5. IQueryable接口与IEnumberable接口的区别
  6. 不可不知的CSS小技巧
  7. C语言学习笔记---可变参数
  8. 第五章---字符串+序列转化
  9. web前后台数据交互的四种方式
  10. PHP100的php教程批量打包下载
  11. 有关Intel主板驱动静默安装的一个坑
  12. android vlc m3u8,Exoplayer播放m3u8文件Android
  13. word如何删除空行和全角空格_word中删除全角空格和空行
  14. 直线方程和直线系方程
  15. MAC: docker compose mount permission denied 挂载失败
  16. Mqtt精髓系列之精简之道
  17. GPT-3会是第一个通用人工智能吗?
  18. OpenGL学习笔记(一)绘制点线面及多面体
  19. 一文读懂图像数据的标准化与归一化
  20. 3GPP TS 23501-g51 中英文对照 | 4.2.10 Architecture Reference Model for ATSSS Support

热门文章

  1. 手机qq表白代码大全可复制_照片后期如何一键调出INS风?676个效果 VSCO滤镜大全...
  2. Threejs/Webgl智慧城市部分效果实现
  3. 用C语言实现死亡之ping
  4. QQ群技术:0成本创建2000人QQ群技巧
  5. php fckeditor,FCKeditor的安装(PHP)
  6. C语言EasyX详解(小球碰撞)
  7. C++获取硬件相关信息
  8. 龙之谷冰龙linux手工服务端,【网游】【龙之谷】v300冰龙巢穴一键服务端+客户端+GM工具+视频教程...
  9. 运用spss modeler运用支持向量机_统计分析软件SPSS初阶应用
  10. Word 2010:22个经典小技巧大放送