图形图像处理实验
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验原理:
1)二维离散傅立叶变换、余弦变换、小波变换的正逆变换公式。
2)Matlab中变换的实现函数。
3)讨论正交变换的应用。
实验内容:
3.1 应用Matlab实现图像的傅立叶变换。
I=imread('pout.tif'>。
imshow(I>。
F1=fft2(I>。
figure,imshow(log(abs(F1>+1>,[0 10]>。
实验一计算图像的基本统计指标
实验目的:
1)熟悉Matlab图像处理工具箱的使用方法。
2)了解计算图像统计指标的方法及其在图像处理中的意义。
实验原理:
1)可将一幅图视为一个二维矩阵,因此Matlab处理图像十分方便。
2)利用Matlab图像处理工具箱读、写和显示图像。
实验内容:
将图像反白。图像是RGB彩色图像football.jpg,采用rgb2gray函数可以将彩色图像转换为黑白图像。b5E2RGbCAP
figure , imshow(J>。
K=medfilt2(J>。 %二维中值滤波
figure,imshow(K>。
实验结果:
原始图像 加噪声的图 二维中值滤波后的图像
4.6利用罗伯茨梯度对rice.tif图像进行锐化处理
I=imread('tire.tif'>。
Imshow(I >。
BW= edge(I ,'roberts' , 0.1>。 %对输入图像求罗伯茨梯度
subplot(224>。image(wcodemat(D1,255>>。
title('Diagonal D1'>。
Y=2.0*IDWT2(A1,H1,V1,D1>。
Y=imresize(Y,0.5>。
figure。image(Y>。colormap(map>。
实验结果:
原图像
一层小波变换的4个分量
G=[1 1 1 1。1 1 -1 -1。1 -1 -1 1。1 -1 1 -1]。
W=(1/16>*G*f*G
实验结果:
W =
3.1875 0.0625 -0.8125 0.0625
0.0625 -0.0625 0.0625 -0.0625
0.1875 0.0625 -0.8125 0.0625
0.0625 -0.0625 0.0625 -0.0625
I = imread('tire.tif'>。
J= histeq(I>。
subplot(2,2,1>,imshow(I>。
subplot(2,2,2>,imhist(I>。
subplot(2,2,3>,imshow(J>。
subplot(2,2,4>,imhist(J>。
实验结果
原图像 原图像的直方图
实验目的:
1)了解图像的压缩编码原理。
2)掌握常用的图像压缩算法。
实验原理:
1)去除数据冗余度可以有效的压缩数据。
2)图像压缩编码的主要技术指标:压缩比、客观评价SNR、主管评价。
实验内容:
1>利用维纳滤波对有噪声模糊图像进行复原。
2>比较直接维娜滤波、设置信噪比参数、设置噪声和自相关函数这三种情况下的图像复原效果。
实验内容:
4.1 采用线性变换进行图像增强。应用Matlab函数imadjust将图像在0.3×255~0.7×255灰度之间的值通过线性变换映射到0~255之间。xHAQX74J0X
I=imread('pout.tif'>。
subplot(2,2,1>,imshow(I>。
subplot(2,2,2>,imhist(I>。
3)图像灰度修正:灰度变换。对不满意的图像通过线性灰度映射关系进行变换,其效果可以得到明显提高。通过分析,会发现前后图像的直方图也会发生相应的变化。5PCzVD7HxA
4)图像平滑方法:领域平均、中值滤波。
5)图像锐化方法。人眼对目标边缘和轮廓较为敏感,对图像进行锐化,有助于突出这些图像的特征。从频率域看,锐化提升了图像的高频分量。jLBHrnAILg
I=imread('football.jpg'>。
subplot(131>。imshow(I>。
J=rgb2gray(I>。
subplot(132>。imshow(J>。
Ave=mean2(J>。
SD=std2(double(J>>。
s=size(J>。
all_white=255*ones(s(1>,s(2>>。
均衡后的图像 均衡后图像的直方图
4.4分别采用上述前4种模块对受到椒盐噪声污染的eight.tif图像进行平滑处理。
I=imread('tire.tif'>。 %读入原始图像
Imshow(I ,[]>。
f= imnoise(I ,'salt & pepper' , 0.04>。 %对图像加椒盐噪声,噪声强度为0,04LDAYtRyKfE
g0= filter2(h0,f>。 %用模板进行滤波处理
g1=பைடு நூலகம்filter2(h1,f>。
g2= filter2(h2,f>。
g3= filter2(h3,f>。
figure,imshow(g0, []>。 %显示平滑处理结果
figure,imshow(g1, []>。
figure,imshow(g2, []>。
V=0.02。
NP=V*prod(size(I>>。 %计算噪声强度
Edged=edgetaper(blurrednoisy,PSF>。
%使用edgetaper函数对图像进行预处理,以消除图像的不连续边界
[reg1 LAGRA]=deconvreg(Edged,PSF,NP>。
figure,subplot(2,2,1>, imshow(reg1>。 %小NP
F2=fftshift(F1>。
figure,imshow(log(abs(F2>+1>,[0 10]>。
实验结果:
原始图像 图像的频谱图 中心化的频谱图
3.2应用Matlab实现图像的DCT变换。
clear all。clc
I=imread('tire.tif'>。
subplot(121>。imshow(I>。
figure , imhist(J>。
K=imadjust(J,[0.0 0.2],[]>。 %二维中值滤波
figure,imhist(K>。
figure , imshow(K>。
实验结果:
原始图像 拉普拉斯锐化 对比扩展后的图像
拉普拉斯锐化后图像的直方图 对锐化后图像的对比扩展
实验五 图像编码与压缩
figure , imshow(BW>。
实验结果:
原始图像 锐化后结果图
4.7应用拉普拉斯算子对rice.tif图像进行锐化处理。
I=imread('tire.tif'>。
imshow(I >。
h = [0 -1 0。 -1 4 -1 。0 -1 0]。
J= imfilter(I ,h>。
figure , imshow(J>。
imshow(J>。
K=I(2*W:s(1>-W,2*W:s(2>-5*W>。
figure,imshow(K>。
实验结果:
实验三 图像变换
实验目的:
3)了解图像正变换和逆变换的原理
4)理解图像变换的系数特点
5)掌握常用图像变换的实现过程
6)掌握图像的频谱分析方法
7)了解图像变换在图像数据压缩等方面的应用
figure,imshow(g3, []>。
实验结果
原始图像 有噪声的图像 用模版0处理后的图像
用模版1处理后的图像 用模版2处理后的图像 用模版3处理后的图像
4.5选用3*3的窗口对椒盐造噪声进行中值滤波。
I=imread('tire.tif'>。
Imshow(I >。
J= imnoise(I ,'salt & pepper' , 0.04>。
figure , imshow(f>。
h0 = 1/9. *[1 1 1 1 1 1 1 1 1]。 %定义平滑模板
h1 = [0.1 0.1 0.1。 0.1 0.2 0.1。 0.1 0.1 0.1]。
h2 = 1/16. *[1 2 1。 2 4 2 。1 2 1]。 %高斯模板
h3 = 1/8. *[1 1 1。 1 0 1 。1 1 1]。
all_white_uint8=uint8(all_white>。
K=imsubtract(all_white_uint8,J>。
subplot(133>。imshow(K>。
imwrite(K,'football_inverse.jpg'>。
实验结果:
实验二 图像的数字化
实验目的:
1)了解静止图像的数字化原理。
J=imadjust(I,[0.3 0.7],[]>。
subplot(2,2,3>,imshow(J>。
subplot(2,2,4>,imhist(J>。
实验结果:
原图 原图像的直方图
输出图像 输出图像的直方图
4.2 求“布罗格的画”图像的归一化直方图
I=imread('布格罗的画.jpg'>。
J=rgb2gray(I>。
实验四 频率域高通滤波法
实验目的:
1)熟悉并学会使用Matlab中图像增强的相关函数。
2)了解图像增强的方法、去噪的方法和效果。
实验原理:
1)将一幅图视为一个二维矩阵,用Matlab进行图像增强。
2)利用Matlab图像处理工具箱中的imread、imshow、imnoise、filter2对图像进行去噪处理。RTCrpUDGiT
H1=upcoef2('h',cH1,'bior3.7',1>。
V1=upcoef2('v',cV1,'bior3.7',1>。
D1=upcoef2('d',cD1,'bior3.7',1>。
figure。colormap(map>。
subplot(221>。image(wcodemat(A1,180>>。
title('Approximation A1'>。
subplot(222>。image(wcodemat(H1,255>>。
title('Horizontal Detail H1'>。
subplot(223>。image(wcodemat(V1,255>>。
title('Vertical V1'>。
subplot(1,2,1>,imshow(J>。
N=numel(J>。
pr = imhist(J>/N。
k=0:255。
subplot(1,2,2>,stem(k,pr>。
实验结果
布罗格的画图像 布罗格的画的直方图
4.3在Matlab环境中,采用直方图均衡的方法对tire.tif图像进行图像增强。
len=28。
theta=14。
PSF=fspecial('motion' , len , theta>。
wnr1 = deconvwnr(blurred,PSF>。 %维娜滤波复原图像
figure, imshow(wnr1>。
------------- %读入有噪声模糊图像并命名为blurrednoisy
reg2=deconvreg(Edged,PSF,NP*1.2>。
subplot(2,2,2>, imshow(reg2>。 %大NP
实验步骤
1>选择图6.19所示的原始图像作为测试图像。
2>设计图像复原算法。
3>设置维娜滤波中的相关参数。对图像复原效果的影响。
4>显示原始图像和复原后的重建图像。
5>通过修改这些参数来观察参数对图像复原效果的影响。
程序代码如下:
blurred = imread ('flower.gif'>。 %读入无噪声模糊图像并命名为blurredZzz6ZB2Ltk
2)掌握常用数字化设备的使用。
实验原理:
通过将模拟图像数字化后,用计算机对图像进行灵活的处理。
实验内容:
2.1 用Matlab程序说明实际数字图像量化特点。
clc。clear。
W=16。
I=imread('kids.tif'>。
s=size(I>。
J=I(s(1>/2-W/2:s(1>/2+W/2-1,s(2>/2-W/2:s(2>/2+W/2-1>p1EanqFDPw
3.4 bior3.7是双正交样条小波对应的滤波器。应用Matlab对wbarb.mat图像实现小波变换。DXDiTa9E3d
load wbarb。
image(X>。
colormap(map>。
[cA1,cH1,cV1,cD1]=dwt2(X,'bior3.7'>。
A1=upcoef2('a',cA1,'bior3.7',1>。
C1=dct2(I>。
C2=fftshift(C1>。
subplot(122>。imshow(log(abs(C2>>+1,[0 10]>。
实验结果:
原始图像 DCT系数
3.3 已知二维数字图像矩阵f,求此图像的二维DWT,并反求f。
f=[2 5 5 2。3 3 3 3。3 3 3 3。2 5 5 1]。
1)二维离散傅立叶变换、余弦变换、小波变换的正逆变换公式。
2)Matlab中变换的实现函数。
3)讨论正交变换的应用。
实验内容:
3.1 应用Matlab实现图像的傅立叶变换。
I=imread('pout.tif'>。
imshow(I>。
F1=fft2(I>。
figure,imshow(log(abs(F1>+1>,[0 10]>。
实验一计算图像的基本统计指标
实验目的:
1)熟悉Matlab图像处理工具箱的使用方法。
2)了解计算图像统计指标的方法及其在图像处理中的意义。
实验原理:
1)可将一幅图视为一个二维矩阵,因此Matlab处理图像十分方便。
2)利用Matlab图像处理工具箱读、写和显示图像。
实验内容:
将图像反白。图像是RGB彩色图像football.jpg,采用rgb2gray函数可以将彩色图像转换为黑白图像。b5E2RGbCAP
figure , imshow(J>。
K=medfilt2(J>。 %二维中值滤波
figure,imshow(K>。
实验结果:
原始图像 加噪声的图 二维中值滤波后的图像
4.6利用罗伯茨梯度对rice.tif图像进行锐化处理
I=imread('tire.tif'>。
Imshow(I >。
BW= edge(I ,'roberts' , 0.1>。 %对输入图像求罗伯茨梯度
subplot(224>。image(wcodemat(D1,255>>。
title('Diagonal D1'>。
Y=2.0*IDWT2(A1,H1,V1,D1>。
Y=imresize(Y,0.5>。
figure。image(Y>。colormap(map>。
实验结果:
原图像
一层小波变换的4个分量
G=[1 1 1 1。1 1 -1 -1。1 -1 -1 1。1 -1 1 -1]。
W=(1/16>*G*f*G
实验结果:
W =
3.1875 0.0625 -0.8125 0.0625
0.0625 -0.0625 0.0625 -0.0625
0.1875 0.0625 -0.8125 0.0625
0.0625 -0.0625 0.0625 -0.0625
I = imread('tire.tif'>。
J= histeq(I>。
subplot(2,2,1>,imshow(I>。
subplot(2,2,2>,imhist(I>。
subplot(2,2,3>,imshow(J>。
subplot(2,2,4>,imhist(J>。
实验结果
原图像 原图像的直方图
实验目的:
1)了解图像的压缩编码原理。
2)掌握常用的图像压缩算法。
实验原理:
1)去除数据冗余度可以有效的压缩数据。
2)图像压缩编码的主要技术指标:压缩比、客观评价SNR、主管评价。
实验内容:
1>利用维纳滤波对有噪声模糊图像进行复原。
2>比较直接维娜滤波、设置信噪比参数、设置噪声和自相关函数这三种情况下的图像复原效果。
实验内容:
4.1 采用线性变换进行图像增强。应用Matlab函数imadjust将图像在0.3×255~0.7×255灰度之间的值通过线性变换映射到0~255之间。xHAQX74J0X
I=imread('pout.tif'>。
subplot(2,2,1>,imshow(I>。
subplot(2,2,2>,imhist(I>。
3)图像灰度修正:灰度变换。对不满意的图像通过线性灰度映射关系进行变换,其效果可以得到明显提高。通过分析,会发现前后图像的直方图也会发生相应的变化。5PCzVD7HxA
4)图像平滑方法:领域平均、中值滤波。
5)图像锐化方法。人眼对目标边缘和轮廓较为敏感,对图像进行锐化,有助于突出这些图像的特征。从频率域看,锐化提升了图像的高频分量。jLBHrnAILg
I=imread('football.jpg'>。
subplot(131>。imshow(I>。
J=rgb2gray(I>。
subplot(132>。imshow(J>。
Ave=mean2(J>。
SD=std2(double(J>>。
s=size(J>。
all_white=255*ones(s(1>,s(2>>。
均衡后的图像 均衡后图像的直方图
4.4分别采用上述前4种模块对受到椒盐噪声污染的eight.tif图像进行平滑处理。
I=imread('tire.tif'>。 %读入原始图像
Imshow(I ,[]>。
f= imnoise(I ,'salt & pepper' , 0.04>。 %对图像加椒盐噪声,噪声强度为0,04LDAYtRyKfE
g0= filter2(h0,f>。 %用模板进行滤波处理
g1=பைடு நூலகம்filter2(h1,f>。
g2= filter2(h2,f>。
g3= filter2(h3,f>。
figure,imshow(g0, []>。 %显示平滑处理结果
figure,imshow(g1, []>。
figure,imshow(g2, []>。
V=0.02。
NP=V*prod(size(I>>。 %计算噪声强度
Edged=edgetaper(blurrednoisy,PSF>。
%使用edgetaper函数对图像进行预处理,以消除图像的不连续边界
[reg1 LAGRA]=deconvreg(Edged,PSF,NP>。
figure,subplot(2,2,1>, imshow(reg1>。 %小NP
F2=fftshift(F1>。
figure,imshow(log(abs(F2>+1>,[0 10]>。
实验结果:
原始图像 图像的频谱图 中心化的频谱图
3.2应用Matlab实现图像的DCT变换。
clear all。clc
I=imread('tire.tif'>。
subplot(121>。imshow(I>。
figure , imhist(J>。
K=imadjust(J,[0.0 0.2],[]>。 %二维中值滤波
figure,imhist(K>。
figure , imshow(K>。
实验结果:
原始图像 拉普拉斯锐化 对比扩展后的图像
拉普拉斯锐化后图像的直方图 对锐化后图像的对比扩展
实验五 图像编码与压缩
figure , imshow(BW>。
实验结果:
原始图像 锐化后结果图
4.7应用拉普拉斯算子对rice.tif图像进行锐化处理。
I=imread('tire.tif'>。
imshow(I >。
h = [0 -1 0。 -1 4 -1 。0 -1 0]。
J= imfilter(I ,h>。
figure , imshow(J>。
imshow(J>。
K=I(2*W:s(1>-W,2*W:s(2>-5*W>。
figure,imshow(K>。
实验结果:
实验三 图像变换
实验目的:
3)了解图像正变换和逆变换的原理
4)理解图像变换的系数特点
5)掌握常用图像变换的实现过程
6)掌握图像的频谱分析方法
7)了解图像变换在图像数据压缩等方面的应用
figure,imshow(g3, []>。
实验结果
原始图像 有噪声的图像 用模版0处理后的图像
用模版1处理后的图像 用模版2处理后的图像 用模版3处理后的图像
4.5选用3*3的窗口对椒盐造噪声进行中值滤波。
I=imread('tire.tif'>。
Imshow(I >。
J= imnoise(I ,'salt & pepper' , 0.04>。
figure , imshow(f>。
h0 = 1/9. *[1 1 1 1 1 1 1 1 1]。 %定义平滑模板
h1 = [0.1 0.1 0.1。 0.1 0.2 0.1。 0.1 0.1 0.1]。
h2 = 1/16. *[1 2 1。 2 4 2 。1 2 1]。 %高斯模板
h3 = 1/8. *[1 1 1。 1 0 1 。1 1 1]。
all_white_uint8=uint8(all_white>。
K=imsubtract(all_white_uint8,J>。
subplot(133>。imshow(K>。
imwrite(K,'football_inverse.jpg'>。
实验结果:
实验二 图像的数字化
实验目的:
1)了解静止图像的数字化原理。
J=imadjust(I,[0.3 0.7],[]>。
subplot(2,2,3>,imshow(J>。
subplot(2,2,4>,imhist(J>。
实验结果:
原图 原图像的直方图
输出图像 输出图像的直方图
4.2 求“布罗格的画”图像的归一化直方图
I=imread('布格罗的画.jpg'>。
J=rgb2gray(I>。
实验四 频率域高通滤波法
实验目的:
1)熟悉并学会使用Matlab中图像增强的相关函数。
2)了解图像增强的方法、去噪的方法和效果。
实验原理:
1)将一幅图视为一个二维矩阵,用Matlab进行图像增强。
2)利用Matlab图像处理工具箱中的imread、imshow、imnoise、filter2对图像进行去噪处理。RTCrpUDGiT
H1=upcoef2('h',cH1,'bior3.7',1>。
V1=upcoef2('v',cV1,'bior3.7',1>。
D1=upcoef2('d',cD1,'bior3.7',1>。
figure。colormap(map>。
subplot(221>。image(wcodemat(A1,180>>。
title('Approximation A1'>。
subplot(222>。image(wcodemat(H1,255>>。
title('Horizontal Detail H1'>。
subplot(223>。image(wcodemat(V1,255>>。
title('Vertical V1'>。
subplot(1,2,1>,imshow(J>。
N=numel(J>。
pr = imhist(J>/N。
k=0:255。
subplot(1,2,2>,stem(k,pr>。
实验结果
布罗格的画图像 布罗格的画的直方图
4.3在Matlab环境中,采用直方图均衡的方法对tire.tif图像进行图像增强。
len=28。
theta=14。
PSF=fspecial('motion' , len , theta>。
wnr1 = deconvwnr(blurred,PSF>。 %维娜滤波复原图像
figure, imshow(wnr1>。
------------- %读入有噪声模糊图像并命名为blurrednoisy
reg2=deconvreg(Edged,PSF,NP*1.2>。
subplot(2,2,2>, imshow(reg2>。 %大NP
实验步骤
1>选择图6.19所示的原始图像作为测试图像。
2>设计图像复原算法。
3>设置维娜滤波中的相关参数。对图像复原效果的影响。
4>显示原始图像和复原后的重建图像。
5>通过修改这些参数来观察参数对图像复原效果的影响。
程序代码如下:
blurred = imread ('flower.gif'>。 %读入无噪声模糊图像并命名为blurredZzz6ZB2Ltk
2)掌握常用数字化设备的使用。
实验原理:
通过将模拟图像数字化后,用计算机对图像进行灵活的处理。
实验内容:
2.1 用Matlab程序说明实际数字图像量化特点。
clc。clear。
W=16。
I=imread('kids.tif'>。
s=size(I>。
J=I(s(1>/2-W/2:s(1>/2+W/2-1,s(2>/2-W/2:s(2>/2+W/2-1>p1EanqFDPw
3.4 bior3.7是双正交样条小波对应的滤波器。应用Matlab对wbarb.mat图像实现小波变换。DXDiTa9E3d
load wbarb。
image(X>。
colormap(map>。
[cA1,cH1,cV1,cD1]=dwt2(X,'bior3.7'>。
A1=upcoef2('a',cA1,'bior3.7',1>。
C1=dct2(I>。
C2=fftshift(C1>。
subplot(122>。imshow(log(abs(C2>>+1,[0 10]>。
实验结果:
原始图像 DCT系数
3.3 已知二维数字图像矩阵f,求此图像的二维DWT,并反求f。
f=[2 5 5 2。3 3 3 3。3 3 3 3。2 5 5 1]。