高斯金字塔与拉普拉斯金字塔的matlab实现
来源:互联网 发布:鲁大师软件下载 编辑:程序博客网 时间:2024/05/16 13:51
高斯金字塔与拉普拉斯金字塔的matlab实现
正文部分
- 图像金字塔式进行图像的多分辨率分析的方法。一幅图像在尺寸较小的情况下,只需要较低的分辨便可以看清其轮廓;反之,较大尺寸的图像需要较大的分辨率。
下面我们来一个图像金字塔的示意图:
- 假设一幅图像的原始像素是n*n,对这幅图像进行下采样就是在原图的基础上每隔一个样本就丢弃一个样本,那么我们就会得到一个像素大小为n/2*n/2的新图。
- 图像的上采样刚好与上图相反,这个过程直接通过在原图的基础上每一个样本后插入0,从而达到图像尺寸的2倍放大。当然了,直接插入0仅仅是增加了图像的尺寸,同时会引入了噪声。我们通过选择内插函数来代替插入的0。
下面我们来看一个创建高斯金字塔和预测残差金字塔的一个简单系统
- 所谓的高斯金字塔是指我们在对图像进行下采样的时候,进行了高斯低通滤波。
- 拉普拉斯金子塔就是所谓的预测残差金字塔,下面简述其形成过程:
- 假设第k层的输入图像是256*256 p。那么经过下采样以及高斯滤波后形成的第k+1层的高斯图像是128*128 p。然后通过上采样及插值函数插值后,会形成一个256*256 p的预测图像。可想而知,插值后的预测图像会和输入的原图有一定的差别。
下图展示了这之间的差别
既然有差别那么我们就可与算出具体的差别是多少,同时我们也可以用图像把这种差别表示出来。
上图其实就是对图像进行高通滤波的结果。试想,内插函数其实有低通的效果,而用原图减去图像的低频成分自然就是图像的高频部分啦。
对于上图可能还有人会想到图像空间锐化滤波的拉普拉斯滤波器。下面我们看看原图经过拉普拉斯滤波器后的图像是什么样子的。
可见,经过拉普拉斯滤波器后的图像和预测残差的图像有一定的相似性。当我们把所有的预测残差图像用金子塔的形式展现出来时,预测残差金字塔又称之为拉普拉斯金字塔。
下面是用matlab得到的高斯金字塔与拉普拉斯金字塔的结果:
高斯金字塔:
拉普拉斯金字塔:
示例代码
demo.m
clc;clear all;close all;img=imread('timg.jpg');[m,n]=size(img);if size(img,3)==3 img = rgb2gray(img); end gauss_pyr=gauss_pyramid2(img,5); % for i=1:length(gauss_pyr) % figure;imshow(gauss_pyr{i}); % end for i=1:length(gauss_pyr) -1 %获得残差图像,i级预测残差 imgn{i}=gauss_pyr{i} - expand(gauss_pyr{i+1}); endfor i=1:length(imgn) figure;imshow(imgn{i}); end
gauss_pyramid2.m
function pyr = gauss_pyramid2(I,nlev) pyr = cell(nlev,1); pyr{1} = I; G_LOWER = I; f = [0.05 0.25 0.4 0.25 0.05]; f = f'*f; for l = 2:nlev G_LOWER=G_LOWER(1:2:size(G_LOWER,1)-1,1:2:size(G_LOWER,2)-1); %downsample pyr{l}=imfilter(G_LOWER, f, 'replicate'); end end
expand.m
function re=expand(img) %双三次内插 img = imresize(img, 2, 'bicubic'); re = img;end
1 0
- 高斯金字塔与拉普拉斯金字塔的matlab实现
- 高斯金字塔与拉普拉斯金字塔
- 图像金字塔:高斯金字塔、拉普拉斯金字塔与图片尺寸缩放
- 9基于opencv的图像金字塔_高斯金字塔_拉普拉斯金字塔与图片尺寸缩放
- 高斯金字塔,拉普拉斯金字塔图像的缩放
- 高斯金字塔和拉普拉斯金字塔理解
- OpenCV图像金字塔:高斯金字塔、拉普拉斯金字塔总结
- 【OpenCV入门教程之十三】OpenCV图像金字塔:高斯金字塔、拉普拉斯金字塔与图片尺寸缩放
- 【OpenCV入门教程之十三】OpenCV图像金字塔:高斯金字塔、拉普拉斯金字塔与图片尺寸缩放
- 【OpenCV入门教程之十三】OpenCV图像金字塔:高斯金字塔、拉普拉斯金字塔与图片尺寸缩放
- OpenCV图像金字塔:高斯金字塔、拉普拉斯金字塔与图片尺寸缩放
- 【OpenCV入门教程之十三】OpenCV图像金字塔:高斯金字塔、拉普拉斯金字塔与图片尺寸缩放
- 【OpenCV入门教程之十三】OpenCV图像金字塔:高斯金字塔、拉普拉斯金字塔与图片尺寸缩放
- 【OpenCV入门教程之十三】OpenCV图像金字塔:高斯金字塔、拉普拉斯金字塔与图片尺寸缩放
- OpenCV之十三 OpenCV图像金字塔:高斯金字塔、拉普拉斯金字塔与图片尺寸缩放
- 【OpenCV入门教程之十三】OpenCV图像金字塔:高斯金字塔、拉普拉斯金字塔与图片尺寸缩放
- OpenCV图像金字塔:高斯金字塔、拉普拉斯金字塔与图片尺寸缩放
- OpenCV图像金字塔:高斯金字塔、拉普拉斯金字塔与图片尺寸缩放
- python的元祖。字典,列表的区别
- 【navicat】Navicat for MySQL注册码
- flex 如何调整控件之间的间隙
- openwrt menuconfig 配置nfs 和luci界面编译选项
- spring定时把服务器中的文件传输到ftp服务器上并且删除服务器中传输后的文件
- 高斯金字塔与拉普拉斯金字塔的matlab实现
- UML学习笔记
- windowSoftInputMode一共有10个值可选:
- 2017/3/1
- 动画的各种属性
- spring定时任务quartz
- PAT A1008(无脑题)
- 使用ip tunnel打通私有网络
- Lesson42 Not very musical