降采样和上采样(图像)
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
降采样和上采样(图像)相关推荐
- python 下采样和上采样
前言 由于工作数据量较大,训练模型很少直接单机python,一般都采用SparkML,最近把SparkML的工作使用python简单的写了一下,先写个上下采样,最终目的是为了让正负样本达到均衡(有人问 ...
- 【图像处理】——改变图像的大小(降采样重采样)下采样和上采样
转载自:https://jingyan.baidu.com/article/a3a3f81139be1f8da2eb8ade.html 上采样.下采样和金字塔加速参考:https://blog.csd ...
- 机器学习(四) 下采样和上采样
查看数据样本 import pandas as pd import matplotlib.pyplot as plt import numpy as np%matplotlib inlinedata ...
- 卷积神经网络 池化层上采样(upsampling、interpolating)、下采样(subsampled、downsampled)是什么?(上采样为放大图像或图像插值、下采样为缩小图像)
缩小图像:或称为下采样(subsampled)或降采样(downsampled) 主要目的有两个:1.使得图像符合显示区域的大小:2.生成对应图像的缩略图. 放大图像:或称为上采样(upsamplin ...
- 上采样(放大图像)和下采样(缩小图像)(最邻近插值和双线性插值的理解和实现)
上采样和下采样 什么是上采样和下采样? • 缩小图像(或称为下采样(subsampled)或降采样(downsampled))的主要目的有 两个:1.使得图像符合显示区域的大小:2.生成对应图像的缩略 ...
- opencv:用最邻近插值和双线性插值法实现上采样(放大图像)与下采样(缩小图像)
上采样与下采样 概念: 上采样: 放大图像(或称为上采样(upsampling)或图像插值(interpolating))的主要目的 是放大原图像,从而可以显示在更高分辨率的显示设备上. 下采样: 缩 ...
- 一个不限制插值个数和上采样倍数的视频增强方法
作者单位:麦克马斯特大学 论文:https://arxiv.org/pdf/2102.13011.pdf 看点 近年来,大量的视频增强研究致力于同时提高时间帧速率和空间分辨率,这些方法要么不能揭示时空 ...
- 下采样downsamp和上采样upsample
图像的上采样(up-sampling)和下采样(down-sampling) 缩小图像(或称为下采样(subsampled)或降采样(downsampled)的主要目的有两个: 1.使得图像符合显示区 ...
- 深度学习上采样下采样概念以及实现
#pic_center =400x 系列文章: 文章目录 参考博客 概念 上采样 下采样 实现 上采样 下采样 参考博客 [深度学习]上采样,下采样,卷积 torch.nn.functional.in ...
最新文章
- 基于Vue+ElementUI的后台管理系统开发的总结
- python大数据项目_(价值1280)大数据项目实战之Python金融应用编程
- 用Python写网络爬虫pdf
- python字符串用法_笔记:python字符串的使用
- double在mysql中是什么类型_为什么PVC输送带深受企业的青睐?
- Error in nextTick
- VIM - 01. 标准模式 - 下简单操作
- [转]Hello, ASM——代码生成
- ELDD Chapter 2..3 Linux Kernel Facilities
- 【苹果相册推送】excerantione system.out.printlni 家哦,==电子电子邮件
- 2022-2028年中国美妆工具行业市场前瞻与投资战略规划分析报告
- 金蝶云·星空——采购入库单生成凭证取不到价税合计
- 实用:python字符编码之间的转化(来猜猜博主的真实姓名)
- vue3运行npm run serve报错ERROR Error: Cannot find module ‘babel-plugin-import‘ Require stack:
- 黑白棋的设计说明(一)
- LIN Bus | 一个应用广泛的串行通信协议
- linux 虚拟机不是全屏显示,Linux系统在虚拟机VirtualBox不能全屏解决办法
- yolov5开笔记本摄像头实时检测方法
- 基于SSM框架的洗车店预约系统的设计与实现
- 领英:全球人工智能人才25万 我国人才潜能不输欧美
热门文章
- 12.bacnet mst/tp 报文 解析
- DC EP要统一“ 世界度量衡”,数字货币打开财富大门
- 安信可官方esp8266固件写入程序
- java正则匹配多个斜杠_正则表达式中两个反斜杠的匹配规则详解
- 分享148个PHP源码,总有一款适合您
- android 家长管理,基于Android平台的家长管控系统
- 教师编制报名信息计算机等级填错了,教师资格证报名审核通过后发现自己资料填写错误怎么办?...
- 基于CC2530的温湿度传感器和基于C#的应用界面设计
- 数据库实验九2021011206贾天乐
- Android错误代码返回,【已解决】JPUSH的回调返回错误代码6012