https://blog.csdn.net/u013146742/article/details/51865522

降采样

又名 下采样或缩小图像。即是采样点数减少。对于一幅N*M的图像来说,如果降采样系数为k,则即是在原图中 每行每列每隔k个点取一个点组成一幅图像。降采样很容易实现.

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

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

上采样

又名图像插值或放大图像 主要目的是放大原图像,从而可以显示在更高分辨率的显示设备上。升采样,也即插值。对于图像来说即是二维插值。如果升采样系数为k,即在原图n与n+1两点之间插入k-1个点,使其构成k分。二维插值即在每行插完之后对于每列也进行插值。 
插 值的方法分为很多种,一般主要从时域和频域两个角度考虑。对于时域插值,最为简单的是线性插值。除此之外,Hermite插值,样条插值等等均可以从有关 数值分析书中找到公式,直接代入运算即可。对于频域,根据傅里叶变换性质可知,在频域补零等价于时域插值。所以,可以通过在频域补零的多少实现插值运 算

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

2、实现 
其实在matlab中自带升采样函数(upsample)和降采样函数(downsample),读者可以查找matlab的帮助文件详细了解这两个函数。在这里,我重新写如下: 
%======================================================== 
%   Name: usample.m 
%   功能:升采样 
%   输入:采样图片 I, 升采样系数N 
%   输出:采样后的图片Idown 
%   author:gengjiwen    date:2015/5/10 
%======================================================== 
function Iup = usample(I,N) 
[row,col] = size(I); 
upcol = col*N; 
upcolnum = upcol - col; 
uprow = row*N; 
uprownum = uprow -row;

If = fft(fft(I).').';     %fft2变换 
Ifrow = [If(:,1:col/2) zeros(row,upcolnum) If(:,col/2 +1:col)];   %水平方向中间插零 
                                                                                                   %补零之后,Ifrow为 row*upcol                                                                
Ifcol = [Ifrow(1:row/2,:);zeros(uprownum,upcol);Ifrow(row/2 +1:row,:)];   %垂直方向补零 
Iup = ifft2(Ifcol); 
end 
%======================================================== 
%   Name: dsample.m 
%   功能:降采样 
%   输入:采样图片 I, 降采样系数N 
%   输出:采样后的图片Idown 
%   author:gengjiwen    date:2015/5/10 
%======================================================== 
function Idown = dsample(I,N) 
[row,col] = size(I); 
drow = round(row/N); 
dcol = round(col/N); 
Idown = zeros(drow,dcol); 
p =1; 
q =1; 
for i = 1:N:row 
    for j = 1:N:col 
         Idown(p,q) = I(i,j); 
         q = q+1; 
    end 
    q =1; 
    p = p+1; 
end 
end 
% =========================================== 
% 测试升采样和降采样的程序 
%  author:gengjiwen , date:2015/05/10 
%  备注:测试完毕! 
%============================================ 
clear; 
close all; 
I = imread('test1.jpg'); 
I = rgb2gray(I); 
figure(1); 
imagesc(I); 
title('原图像'); 
% 图像降采样 
 figure; 
for ii = 2:2:8 
 Idown = dsample(I,ii); 
 subplot(2,2,ii/2); 
 imagesc(Idown); 
 str = ['downsample at N = ' num2str(ii)]; 
 title(str); 
end 
% 图像升采样 
 figure; 
for ii = 2:2:8 
 Iup =usample(I,ii); 
 subplot(2,2,ii/2); 
 imagesc(abs(Iup)); 
 str = ['upsample at N = ' num2str(ii)]; 
 title(str); 
end

降采样和上采样(图像)相关推荐

  1. python 下采样和上采样

    前言 由于工作数据量较大,训练模型很少直接单机python,一般都采用SparkML,最近把SparkML的工作使用python简单的写了一下,先写个上下采样,最终目的是为了让正负样本达到均衡(有人问 ...

  2. 【图像处理】——改变图像的大小(降采样重采样)下采样和上采样

    转载自:https://jingyan.baidu.com/article/a3a3f81139be1f8da2eb8ade.html 上采样.下采样和金字塔加速参考:https://blog.csd ...

  3. 机器学习(四) 下采样和上采样

    查看数据样本 import pandas as pd import matplotlib.pyplot as plt import numpy as np%matplotlib inlinedata ...

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

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

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

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

  6. opencv:用最邻近插值和双线性插值法实现上采样(放大图像)与下采样(缩小图像)

    上采样与下采样 概念: 上采样: 放大图像(或称为上采样(upsampling)或图像插值(interpolating))的主要目的 是放大原图像,从而可以显示在更高分辨率的显示设备上. 下采样: 缩 ...

  7. 一个不限制插值个数和上采样倍数的视频增强方法

    作者单位:麦克马斯特大学 论文:https://arxiv.org/pdf/2102.13011.pdf 看点 近年来,大量的视频增强研究致力于同时提高时间帧速率和空间分辨率,这些方法要么不能揭示时空 ...

  8. 下采样downsamp和上采样upsample

    图像的上采样(up-sampling)和下采样(down-sampling) 缩小图像(或称为下采样(subsampled)或降采样(downsampled)的主要目的有两个: 1.使得图像符合显示区 ...

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

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

最新文章

  1. 基于Vue+ElementUI的后台管理系统开发的总结
  2. python大数据项目_(价值1280)大数据项目实战之Python金融应用编程
  3. 用Python写网络爬虫pdf
  4. python字符串用法_笔记:python字符串的使用
  5. double在mysql中是什么类型_为什么PVC输送带深受企业的青睐?
  6. Error in nextTick
  7. VIM - 01. 标准模式 - 下简单操作
  8. [转]Hello, ASM——代码生成
  9. ELDD Chapter 2..3 Linux Kernel Facilities
  10. 【苹果相册推送】excerantione system.out.printlni 家哦,==电子电子邮件
  11. 2022-2028年中国美妆工具行业市场前瞻与投资战略规划分析报告
  12. 金蝶云·星空——采购入库单生成凭证取不到价税合计
  13. 实用:python字符编码之间的转化(来猜猜博主的真实姓名)
  14. vue3运行npm run serve报错ERROR Error: Cannot find module ‘babel-plugin-import‘ Require stack:
  15. 黑白棋的设计说明(一)
  16. LIN Bus | 一个应用广泛的串行通信协议
  17. linux 虚拟机不是全屏显示,Linux系统在虚拟机VirtualBox不能全屏解决办法
  18. yolov5开笔记本摄像头实时检测方法
  19. 基于SSM框架的洗车店预约系统的设计与实现
  20. 领英:全球人工智能人才25万 我国人才潜能不输欧美

热门文章

  1. 12.bacnet mst/tp 报文 解析
  2. DC EP要统一“ 世界度量衡”,数字货币打开财富大门
  3. 安信可官方esp8266固件写入程序
  4. java正则匹配多个斜杠_正则表达式中两个反斜杠的匹配规则详解
  5. 分享148个PHP源码,总有一款适合您
  6. android 家长管理,基于Android平台的家长管控系统
  7. 教师编制报名信息计算机等级填错了,教师资格证报名审核通过后发现自己资料填写错误怎么办?...
  8. 基于CC2530的温湿度传感器和基于C#的应用界面设计
  9. 数据库实验九2021011206贾天乐
  10. Android错误代码返回,【已解决】JPUSH的回调返回错误代码6012