数字图像作业.docx
《数字图像作业.docx》由会员分享,可在线阅读,更多相关《数字图像作业.docx(17页珍藏版)》请在冰豆网上搜索。
![数字图像作业.docx](https://file1.bdocx.com/fileroot1/2022-11/19/293712d6-c3f8-455a-956c-920df0af8d55/293712d6-c3f8-455a-956c-920df0af8d551.gif)
数字图像作业
滨江学院
课程论文(设计)
课程名称《数字图像处理》
学期2014-2015
(1)
院系电子工程系
专业通信工程
班级12通信(3)班
学生姓名岳巍
学号20122334931
二O一四年十二月二十日
考核内容
1.在Matlab下读入一幅图像,对其灰度图作快速傅立叶变换;
2.在Matlab下读入一幅图像,对其灰度图作DCT变换;
3.在Matlab下读入一幅图像,对其作DWT分解。
4.读入一幅有明显明暗缺陷的灰度图像,分析其直方图特征,分别用分段灰度线性变换法、直方图均衡法和图像灰度调整法(imadjust)分别进行处理;
5.读入一幅灰度图像,分别给其加上“乘性噪声”、“椒盐噪声”,然后分别用“均值滤波”、“中值滤波”和“巴特沃斯滤波”对其做平滑处理;
6.读入一幅灰度图像,分别用“Sobel算子”、“Laplacian算子”、“梯形滤波器”对其做锐化处理;
7.读入一幅灰度图像,分别用“灰度级分层法”、“灰度变换法”和“频域伪彩色处理法”对其进行伪彩色增强;
8.读入一幅图像,对其进行模糊化,然后用“逆滤波法”对其进行复原处理。
要求
1.独立完成各项内容;
2.记录每一内容实现的步骤;
3.编写FFT、DCT、DWT变换Matlab程序;
4.打印输出原始图像、FFT的频谱图、将频率平面坐标原点移至窗口中心的FFT频谱图、DCT频谱图以及1级小波分解图像;
5.编写“灰度增强”、“平滑”、“锐化”、“伪彩色增强”、“图像复原”的Matlab程序;
6.打印输出经“灰度增强”、“平滑”、“锐化”、“伪彩色增强”、“图像复原”处理的图像及各自的原始图像;
7.独立撰写课程论文和设计。
论文设计内容
1.在Matlab下读入一幅图像,对其灰度图作快速傅立叶变换;
I=imread('C:
\Users\Administrator\Desktop\10602324_195852438137_2.jpg');
imshow(I);
subplot(221)
imshow(I);
title('原始图像');
I=rgb2gray(I);
subplot(222)
imshow(I);
title('灰度图像')
fft_I=fft2(I);%2-D快速傅立叶变换
A=abs(fft_I);
%将频谱矩阵元素归一化到0~255
A=(A-min(min(A)))/(max(max(A))-min(min(A)))*255;
subplot(223)
imshow(A);
title('傅立叶频谱图像')
sfft_I=fftshift(fft_I);%傅立叶频谱平面中心移至窗口中心
A=abs(sfft_I);
%将频谱矩阵元素归一化到0~255
A=(A-min(min(A)))/(max(max(A))-min(min(A)))*255;
subplot(224)
imshow(A);
title('原点移到中心的傅立叶频谱图像')
2.在Matlab下读入一幅图像,对其灰度图作DCT变换;
I=imread('E:
\454545\4444.jpg');
imshow(I);
subplot(2,2,1)
imshow(I);
title('原始图像')
I=rgb2gray(I);
subplot(2,2,2)
imshow(I);
title('灰度图像')
dct_I=dct2(I);
A=abs(dct_I);
A=(A-min(min(A)))/(max(max(A))-min(min(A)))*255;
subplot(223)
imshow(A);
title('离散余弦频谱图像')
3.在Matlab下读入一幅图像,对其作DWT分解
clear
clc
X=imread('E:
\454545\4444.jpg');
subplot(231)
imshow(X)
title('原始图像')
X=rgb2gray(X);
subplot(234)
imshow(X)
title('原始灰度图像')
%对图象用2D小波进行一次分解
[c,s]=wavedec2(X,1,'haar');
%提取特征分量和细节分量
a1=wrcoef2('a',c,s,'haar');
h1=wrcoef2('h',c,s,'haar');
v1=wrcoef2('v',c,s,'haar');
d1=wrcoef2('d',c,s,'haar');
subplot(232)
a1=uint8(a1);
imshow(a1)
title('一次小波分解特征分量图像')
subplot(235)
h1=uint8(h1);
imshow(h1)
title('一次小波分解水平细节分量图像')
subplot(233)
v1=uint8(v1);
imshow(v1)
title('一次小波分解垂直细节分量图像')
subplot(236)
d1=uint8(d1);
imshow(d1)
title('一次小波分解对角细节分量图像')
4.读入一幅有明显明暗缺陷的灰度图像,分析其直方图特征,分别用分段灰度线性变换法、直方图均衡法和图像灰度调整法(imadjust)分别进行处理
clear;
I=imread('E:
\454545\000.jpg');
subplot(2,3,1);
imshow(I);
title('原始灰度图像');
subplot(2,3,2);
imhist(I);
title('原始图像灰度直方图');
%分段灰度线性变换法
g0=0;f0=0;
g1=200;f1=140;
g2=255;f2=255;
subplot(2,3,3);
X=[f0f1f2];
Y=[g0g1g2];
plot(X,Y);
title('变换线');
k1=(g1-g0)/(f1-f0);
k2=(g2-g1)/(f2-f1);
[mn]=size(I);
I=double(I);
fori=1:
m;
forj=1:
n
if(I(i,j)>=f0)&(I(i,j)G(i,j)=k1*I(i,j);
else
G(i,j)=k2*(I(i,j)-f1)+g1;
end
end
end
subplot(2,3,4);
G=uint8(G);
imshow(G);
title('分段灰度线性变换');
%直方图均衡法法
I=uint8(I);
J=histeq(I);
subplot(2,3,5);
imshow(J);
title('直方图均衡图像');
%图像灰度调整
K=imadjust(I,[00.55],[01],0.7);
subplot(2,3,6);
imshow(K);
title('图像灰度调整Low=0,High=0.55gamma=0.7');
5.读入一幅灰度图像,分别给其加上“乘性噪声”、“椒盐噪声”,然后分别用“均值滤波”、“中值滤波”和“巴特沃斯滤波”对其做平滑处理;
clear;
[J,map]=imread('E:
\454545\4444.jpg');
I=rgb2gray(J);
%添加“椒盐噪声”
I_noise_salt_pepper=imnoise(I,'salt&pepper');
%添加“乘性噪声”
I_noise_speckle=imnoise(I,'speckle');
%对I_noise_salt_pepper用3×3模板做均值滤波
I_noise_salt_pepper_average=filter2(fspecial('average',3),I_noise_salt_pepper)/255;
%对I_noise_speckle用3×3模板做均值滤波
I_noise_speckle_average=filter2(fspecial('average',3),I_noise_speckle)/255;
%对I_noise_salt_pepper用3×3模板做中值滤波
I_noise_salt_pepper_med=medfilt2(I_noise_salt_pepper,[3,3]);
%I_noise_speckle用3×3模板做中值滤波
I_noise_speckle_med=medfilt2(I_noise_speckle,[3,3]);
%巴特沃斯滤波:
%对添加噪声的图像进行快速傅立叶变换
fft_I_noise_salt_pepper=fft2(double(I_noise_salt_pepper));
%移动频谱坐标中心到屏幕中心
fftshift(fft_I_noise_salt_pepper);
%设定截止频率:
Dcut=100;
%计算巴特沃斯传递函数:
[MN]=size(I);
foru=1:
M
forv=1:
N
D(u,v)=sqrt(u^2+v^2);
BUTTERH(u,v)=1/(1+(sqrt
(2)-1)*(D(u,v)/Dcut)^2);
end
end
%进行巴特沃斯滤波
BUTTERG=BUTTERH.*fft_I_noise_salt_pepper;
%快速傅立叶逆变换
BUTTERfiltered=ifft2(BUTTERG);
subplot(3,3,1);
imshow(J);
title('原始图像');
subplot(3,3,2);
imshow(I);
title('灰度图像');
subplot(3,3,3);
imshow(I_noise_salt_pepper);
title('加“椒盐噪声”(salt&pepper)图像’);
subplot(3,3,4);
imshow(I_noise_speckle);
title('加“乘性噪声”(speckle)图像');
subplot(3,3,5);
imshow(I_noise_salt_pepper_average);
title('“椒盐噪声”图像3×3模板均值滤波’);
subplot(3,3,6);
imshow(I_noise_salt_pepper_med);
title('“椒盐噪声”图像3×3模板中值滤波');
subplot(3,3,7);
imshow(I_noise_speckle_average);
title('“乘性噪声”图像3×3模板均值滤波');
subplot(3,3,8);
imshow(I_noise_speckle_med);
title('“乘性噪声”图像3×3模板中值滤波');
subplot(3,3,9);
imshow(BUTTERfiltered,map);
title('“椒盐噪声”图像经“巴特沃斯滤波”’);
6.读入一幅灰度图像,分别用“Sobel算子”、“Laplacian算子”、“梯形滤波器”对其做锐化处理;
clear;
[Imap]=imread('E:
\454545\4444.jpg');
subplot(2,2,1);
imshow(I,map);
title('原始图像');
I=rgb2gray(I