当前位置:文档之家› 图像处理课程设计报告

图像处理课程设计报告

图像处理课程设计报告
图像处理课程设计报告

摘要:MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件

在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创

用户界面、连

接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。

数字图像处理(DigitalImageProcessing)是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法和技术。数字图像处理的产生和迅速发展主要受三个因素的影响:一是计算机的发展;二是数学的发展(特别是离散数学理论的创立和完善);三是广泛的农牧业、林业、环境、军事、工业和医学等方面的应用需求的增长。

关键词:MA TLAB,数字图像处理

一.课程设计目的

1、提高分析问题、解决问题的能力,进一步巩固数字图像处理系统中的基

本原理与方法。

2、熟悉掌握一门计算机语言,可以进行数字图像的应用处理的开发设计

二. 课程设计的内容

MATLAB GUI程序设计,利用MATLAB图像处理工具箱。

要求:按照软件工程方法,根据需求进行程序的功能分析和界面设计,给出设计详细说明。然后按照自己拟定的功能要求进行程序设计和调试。

以下几点是程序实现的功能。

1)能对图像文件(bmp、jpg、tiff、gif等)进行打开、保存、另存、打印、退出等功能操作。

(2)能对图像进行直方图统计,包括R直方图,直方图统计,直放图均衡,周长和面积计算,区域图面积统计。

(3)能对图像进行图像变化处理,包括小波变换,傅里叶变换,快速傅里叶变化,快速逆变换,傅里叶逆变换,离散余弦变换。

(4)能对图像进行滤波处理,包括低通滤波,平滑滤波,自适应滤波。

(5)能对图像进行频域增强处理,包括同态滤波,高频锐化。

(6)能对图像进行噪声添加处理,包括椒盐噪声,加性噪声,高斯噪声。

(7)能对图像进行图像滤波器处理,包括高通滤波器,低通滤波器。

三、总体方案设计

通过MATLAB 的GUI 设计界面,实现打开,保存,退出,打印功能,设计对比

示区,功能按钮,实现各种图形处理的基本功能。

四、各个功能模块的主要实现程序

在gui界面上创建一系列的按钮以实现各种功能。其实现语句如下:

打开程序:

function OPEN_Callback(hObject, eventdata, handles)

% hObject handle to OPEN (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) [name,path]=uigetfile({'*.jpg';'*.bmp';'*.gif';'*.tif'},'??è?í???'); if isequal(name,0)isequal(path,0)

errordlg('??óD???D???t','3?′í');

return

else

x=imread([path,name]);

axes(handles.axes1);

imshow(x);

handles.img=x;

handles.noise_img=x;

guidata(hObject,handles)

end

保存程序:

function save_Callback(hObject, eventdata, handles)

% hObject handle to save (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) [filename,pathname] =

uiputfile({'*.jpg';'*.bmp';'*.gif';'*.tif'},'í???±£′??a');

if isequal([filename,pathname],[0,0])

errordlg('??óD±£′?','3?′í');

return;

else

file=strcat(pathname,filename);

(handles.axes1);

i=getimage(gca);

imwrite(i,file);

打印程序:

function dayin_Callback(hObject, eventdata, handles)

% hObject handle to dayin (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) printpreview

printpreview(f)

退出程序:

function tuichu_Callback(hObject, eventdata, handles)

% hObject handle to tuichu (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

% hObject handle to quit (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

button = questdlg('?úè·?¨òaí?3?±?3ìDò?e£?','è·?¨2ù×÷');

switch button

case'Yes'

close(gcf);

case'No'

end;

然后制作axes1并建立面板,修改颜色和名称,即界面中的function,再在面板上添加按钮

1.R直方图按钮程序:

function RZHIFANGTU_Callback(hObject, eventdata, handles)

% hObject handle to RZHIFANGTU (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

set(handles.axes1,'HandleVisibility','ON');

axes(handles.axes1);

x=imhist(handles.img(:,:,1)); %?±·?í?í3??

x1=x(1:10:256);

horz=1:10:256;

bar(horz,x1);

set(handles.axes1,'xtick',0:50:255);

2.直方图统计按钮:

function zhifangtutongji_Callback(hObject, eventdata, handles)

% hObject handle to zhifangtutongji (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

set(handles.axes1,'HandleVisibility','ON');

axes(handles.axes1);

x=imhist(handles.img(:,:,1)); %?±·?í?í3??

x1=x(1:10:256);

horz=1:10:256;

bar(horz,x1);

axes(handles.axes1);

set(handles.axes1,'xtick',0:50:255);

% hObject handle to tongji (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% --- Executes on button press in zhifangtujunheng.

3.直方图统计按钮程序:

function zhifangtujunheng_Callback(hObject, eventdata, handles)

% hObject handle to zhifangtujunheng (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

set(handles.axes1,'HandleVisibility','ON');

axes(handles.axes1);

if isrgb(handles.img)

a=histeq(handles.img(:,:,1));

b=histeq(handles.img(:,:,2));

c=histeq(handles.img(:,:,3));

k(:,:,1)=a;

k(:,:,2)=b;

k(:,:,3)=c;

axes(handles.axes1);

imshow(k);

else

h=histeq(handles.img);

axes(handles.axes1);%?±·?í??ùoa

imshow(h);

end

% hObject handle to junheng (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

% --- Executes on button press in mianjijisuan.

4.周长和面积计算程序:

function mianjijisuan_Callback(hObject, eventdata, handles)

% hObject handle to mianjijisuan (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

axes(handles.axes1);

y=handles.img;

k=rgb2gray(y);

BW = im2bw(k); % ×a?ˉ?a?t?μí???

[L,N] = bwlabel(BW,4); % ±ê×¢?t????í????Dò?á??óμ?2?·?

X=1;%??è?í????D??óDò???á?í???óò.

[i j]=find(L==X);%??±ê×¢μ???óò·?μ?ò???êy×é?D.

bwi=bwselect(L,i,j,4);

p=bwperim(bwi);

perm=sum(sum(p));%?ü3¤.

area=size(i);%???y.±ê×¢??óò????μ?êy?í?a??ì????y.

imshow(BW);

pa=['í??????y?a:' num2str(area) '????μ?'];

pp=['í????ü3¤?a:' num2str(perm) '????'];

xxx=[pa,pp];

title(xxx);

% hObject handle to zhouchanghemianji (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA

% --- Executes on button press in pushbutton8.

5.区域图面积程序

function quyumianji_Callback(hObject, eventdata, handles)

% hObject handle to quyumianji (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

axes(handles.axes1);

y=handles.img;

k=rgb2gray(y);

x=area(k,-2);

title('??óò???yí?μ?????');

set(gca,'Layer','top');

% hObject handle to quyutumianji (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

% --- Executes on button press in kuaisufuliyebianhuan.

6.小波变换程序:

function xiaobo_Callback(hObject, eventdata, handles)

% hObject handle to xiaobo (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

axes(handles.axes1);

x=(handles.img);

if (isrgb(x)~=0);

y=rgb2gray(x);

[cA1,cH1,cV1,cD1] = dwt2(y,'bior3.7');

A1=upcoef2('a',cA1,'bior3.7',1);

image(wcodemat(A1,192));

title('?ü???μ?μêyA1');

else

[cA1,cH1,cV1,cD1] = dwt2(x,'bior3.7');

A1=upcoef2('a',cA1,'bior3.7',1);

image(wcodemat(A1,192));

end

% hObject handle to xiaobobianhuan (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

% --- Executes on button press in ditonglvbo.

7.傅里叶变换程序:

function fuliyebianhuan_Callback(hObject, eventdata, handles)

% hObject handle to fuliyebianhuan (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

axes(handles.axes1);

x=(handles.img);

if isrgb(x);

i=fft(x);

else

i=fft(x);

end

O=fftshift(i);

imshow(O);

title('??í¨ft±???oóμ?í???');

% hObject handle to ft (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

8.快速傅里叶程序:

function kuaisufuliyebianhuan_Callback(hObject, eventdata, handles) % hObject handle to kuaisufuliyebianhuan (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

axes(handles.axes1);

x=(handles.img);

if isrgb(x)

i=fftn(x);

else

i=fft2(x);

end

O=fftshift(i);

imshow(O);

title('fft±???oóμ?í???');

% hObject handle to fft (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

% --- Executes on button press in nibianhuan.

9.快速逆变换程序;

function nibianhuan_Callback(hObject, eventdata, handles)

% hObject handle to nibianhuan (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

axes(handles.axes1);

x=(handles.img);

if isrgb(x)

i=ifftn(x);

O=fftshift(i);

imshow(O);

title('ifft±???oóμ?í???');

else

i=ifft2(x);

O=fftshift(i);

imshow(O);

title('ifft±???oóμ?í???');

end

% hObject handle to ifft (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

10.傅里叶逆变换程序:

function fuliyenibianhuan_Callback(hObject, eventdata, handles)

% hObject handle to fuliyenibianhuan (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

axes(handles.axes1);

x=(handles.img);

if isrgb(x)

i=ifft(x);

else

i=fft(x);

end

O=ifftshift(i);

imshow(O);

title('??í¨ift±???oóμ?í???');

% hObject handle to ift (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

11.离散余弦变化程序:

function yuxuanbianhua_Callback(hObject, eventdata, handles)

% hObject handle to yuxuanbianhua (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

axes(handles.axes1);

x=(handles.img);

if (isrgb(x)~=0);

y=rgb2gray(x);

i=dct(y);

imshow(i);

title('DCT±???oóμ?í???');

else

i=dct(x);

imshow(i);

title('DCT±???oóμ?í???');

end

% hObject handle to dct (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

12.低通滤波程序:

function ditonglvbo_Callback(hObject, eventdata, handles)

% hObject handle to ditonglvbo (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

axes(handles.axes1);

if isrgb(handles.img)

x=(handles.img);

y=rgb2gray(x);

h=imnoise(y,'salt & pepper',0.04); %?ó?·????éù

z=medfilt2(h,[5 5],'symmetric'); %?D?μ??2¨

imshow(z);

else

msgbox('?aò??-ê??ò?èí???','×a??꧰ü');

end

% hObject handle to ditonglubo (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

12.平滑滤波程序:

function pinhualvbo_Callback(hObject, eventdata, handles)

% hObject handle to pinhualvbo (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

axes(handles.axes1);

axes(handles.axes1);

img=(handles.img);

if isrgb(img)

f=rgb2gray(img);

f=double(f);

f=fft2(f);

f=fftshift(f);

[m,n]=size(f); %

d0=80;

m1=fix(m/2);

n1=fix(n/2);

for i=1:m

for j=1:n

d=sqrt((i-m1)^2+(j-n1)^2);

h(i,j)=exp(-d^2/2/d0^2);

end

end

g=f.*h;

g=ifftshift(g);

g=ifft2(g);

g=mat2gray(real(g));

imshow(g);

else

msgbox('?aò??-ê??ò?èí???','×a??꧰ü');

end

% hObject handle to pinghualubo (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

% --- Executes on button press in zishiyin.

13.自适应滤波程序:

function zishiyin_Callback(hObject, eventdata, handles)

% hObject handle to zishiyin (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

axes(handles.axes1);

if isrgb(handles.img)

x=(handles.img);

y=rgb2gray(x);

h=imnoise(y,'gaussian',0,0.05); %?ó???1??éù

z=wiener2(h,[5 5]);%×?êêó|??2¨

axes(handles.axes1);

imshow(z);

else

msgbox('?aò??-ê??ò?èí???','×a??꧰ü');

end

% hObject handle to zishiyinglubo (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

% --- Executes on button press in tongtai.

14.同态滤波程序:

function tongtai_Callback(hObject, eventdata, handles)

% hObject handle to tongtai (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

axes(handles.axes1);

y=(handles.img);

I=rgb2gray(y);

I=im2uint8(I);

[M N]=size(I);

I=double(I);

lnI = log(1+I); ;

FI = fft2(lnI);

P =fftshift(FI);

for i=1:M

for j=1:N

D(i,j)=((i-M/2)^2+(j-N/2)^2);

end

end

prompt={'è??ˉ2?êy:','???1?μ?ê'};

defans={'0','0'};

p=inputdlg(prompt,'è??ˉ2?êy:',1,defans);

c=str2num(p{1});

Do=str2num(p{2});

H=(2.0-0.5)*(1-exp(c*(-D/(Do^2))))+0.5;

hI=FI.*H;

gI=ifft2(hI);

Y=exp(gI);

G=real(Y);

s=uint8(G);

imshow(s);

% hObject handle to tongtaizq (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

% --- Executes on button press in gaopin.

15.高频锐化程序:

function gaopin_Callback(hObject, eventdata, handles)

% hObject handle to gaopin (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

axes(handles.axes1);

if isrgb(handles.img)

x=(handles.img);

y=rgb2gray(x);

h=[0 -1 0;-1 4 -1;0 -1 0 ];

I=imfilter(y,h);

imshow(I);

title('?μóòè??ˉoóμ?í???');

end

% hObject handle to gaopingruihua (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

% --- Executes on button press in jiaoyanzaosheng.

16.椒盐噪声程序:

function jiaoyanzaosheng_Callback(hObject, eventdata, handles)

% hObject handle to jiaoyanzaosheng (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) prompt={'ê?è?2?êy:'};

%???°?òμ?éè??£?ó??§ê?è?μ?ê?×?·?′?

defans={'0.02'}; %è±ê??μ

p=inputdlg(prompt,'ê?è?2?êy£o',1,defans);

p1=str2num(p{1}); %×?·?′?×a?ˉ?aêy?μ

axes(handles.axes1);

x=(handles.img);

y=imnoise(x,'salt & pepper',p1);

handles.noise_img=y;

guidata(hObject,handles);

imshow(y);

% hObject handle to jiaoyanzaosheng (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

% --- Executes on button press in jiaxin.

16.加性噪声程序:

function jiaxin_Callback(hObject, eventdata, handles)

% hObject handle to jiaxin (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

axes(handles.axes1);

prompt={'ê?è?2?êy:'};

defans={'0.02'};

p=inputdlg(prompt,'ê?è?2?êy£o',1,defans);

p1=str2num(p{1});

y=imnoise(handles.img,'speckle',p1);

handles.noise_img=y;

guidata(hObject,handles);

imshow(y);

% hObject handle to jiaxingzaosheng (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

% --- Executes on button press in gaosizaosheng.

% --- Executes on button press in gaotonglvboqi.

1

17.高斯噪声程序:

function gaotonglvboqi_Callback(hObject, eventdata, handles)

% hObject handle to gaotonglvboqi (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% hObject handle to Gaosigaotonglb (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

%??í¨??2¨?÷

axes(handles.axes1);

x=(handles.img);

if isrgb(x)

msgbox('?aê?2êé?í???,2??üí¨1y??í¨??2¨?÷','꧰ü');

else

y1=imnoise(x,'gaussian'); %?ó???1??éù

f=double(y1); % êy?YààDí×a??

k=fft2(f); % ?μá¢ò?±???

g=fftshift(k); % ×a??êy?Y???ó

[M,N]=size(g);

nn=2;

d0=3; %???1?μ?ê?a3

m=fix(M/2); n=fix(N/2);

for i=1:M

for j=1:N

d=sqrt((i-m)^2+(j-n)^2); % ??????í¨??2¨?÷′?μYoˉêyif d<=d0

h=0;

else h=1;

end

result(i,j)=h*g(i,j);

end

end

result=ifftshift(result);

y2=ifft2(result);

y3=uint8(real(y2));

imshow(y3);

end

% --- Executes on button press in batewosi.

18.高通滤波器程序:

function gaotonglvboqi_Callback(hObject, eventdata, handles)

% hObject handle to gaotonglvboqi (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

% hObject handle to Gaosigaotonglb (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

%??í¨??2¨?÷

axes(handles.axes1);

x=(handles.img);

if isrgb(x)

msgbox('?aê?2êé?í???,2??üí¨1y??í¨??2¨?÷','꧰ü');

else

y1=imnoise(x,'gaussian'); %?ó???1??éù

f=double(y1); % êy?YààDí×a??

k=fft2(f); % ?μá¢ò?±???

g=fftshift(k); % ×a??êy?Y???ó

[M,N]=size(g);

nn=2;

d0=3; %???1?μ?ê?a3

m=fix(M/2); n=fix(N/2);

for i=1:M

for j=1:N

d=sqrt((i-m)^2+(j-n)^2); % ??????í¨??2¨?÷′?μYoˉêyif d<=d0

h=0;

else h=1;

end

result(i,j)=h*g(i,j);

end

end

result=ifftshift(result);

y2=ifft2(result);

y3=uint8(real(y2));

imshow(y3);

end

% --- Executes on button press in batewosi.

19.低通滤波器

function batewosi_Callback(hObject, eventdata, handles)

% hObject handle to batewosi (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

% hObject handle to Batewosidt (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

%μíí¨??2¨?÷

axes(handles.axes1);

x=(handles.img);

if isrgb(x)

msgbox('?aê?2êé?í???,2??üí¨1yμíí¨??2¨?÷','꧰ü');

else

y1=imnoise(x,'salt & pepper'); % μt?ó?·????éù

f=double(y1); % êy?YààDí×a??£?MATLAB2??§3?í???μ??T·?o???Díμ?????g=fft2(f); % ?μá¢ò?±???

g=fftshift(g); % ×a??êy?Y???ó

[M,N]=size(g);

nn=2; % ?t?×°íì????1(Butterworth)μíí¨??2¨?÷

d0=10; %???1?μ?ê?a10

m=fix(M/2); n=fix(N/2);

for i=1:M

for j=1:N

d=sqrt((i-m)^2+(j-n)^2);

h=1/(1+0.414*(d/d0)^(2*nn)); % ????μíí¨??2¨?÷′?μYoˉêy

result(i,j)=h*g(i,j);

end

end

result=ifftshift(result);

y2=ifft2(result);

y3=uint8(real(y2));

imshow(y3); % ??ê???2¨′|àíoóμ?í???

end

% --- Executes on mouse press over figure background.

function figure1_ButtonDownFcn(hObject, eventdata, handles)

% hObject handle to figure1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

五、测试和调试

R直方图:

直方图均衡:

周长和面积计算:区域面积图的绘制:

小波变换:傅里叶变换:快速逆变换:

快速傅里叶变化:

傅里叶逆变换:

离散余弦变:低通滤波:

平滑滤波:

自适应滤波:

同态滤波:

高频锐化:

数字图像处理 课程设计报告

数字图像处理 课程设计报告 姓名: 学号: 班级: 设计题目:图像处理 教师:赵哲老师 提交日期: 12月29日

一、设计内容: 主题:《图像处理》 详细说明:对图像进行处理(简单滤镜,模糊,锐化,高斯模糊等),对图像进行处理(上下对称,左右对称,单双色显示,亮暗程度调整等),对图像进行特效处理(反色,实色混合,色彩平衡,浮雕效果,素描效果,雾化效果等), 二、涉及知识内容: 1、二值化 2、各种滤波 3、算法等 三、设计流程图 四、实例分析及截图效果: 运行效果截图: 第一步:读取原图,并显示 close all;clear;clc; % 清楚工作窗口clc 清空变量clear 关闭打开的窗口close all I=imread(''); % 插入图片赋给I imshow(I);% 输出图I I1=rgb2gray(I);%图片变灰度图 figure%新建窗口 subplot(321);% 3行2列第一幅图 imhist(I1);%输出图片

title('原图直方图');%图片名称 一,图像处理模糊 H=fspecial('motion',40); %% 滤波算子模糊程度40 motion运动 q=imfilter(I,H,'replicate');%imfilter实现线性空间滤波函数,I图经过H滤波处理,replicate反复复制q1=rgb2gray(q); imhist(q1); title('模糊图直方图'); 二,图像处理锐化 H=fspecial('unsharp');%锐化滤波算子,unsharp不清晰的 qq=imfilter(I,H,'replicate'); qq1=rgb2gray(qq); imhist(qq1); title('锐化图直方图'); 三,图像处理浮雕(来源网络) %浮雕图 l=imread(''); f0=rgb2gray(l);%变灰度图 f1=imnoise(f0,'speckle',; %高斯噪声加入密度为的高斯乘性噪声 imnoise噪声污染图像函数 speckle斑点 f1=im2double(f1);%把图像数据类型转换为双精度浮点类型 h3=1/9.*[1 1 1;1 1 1;1 1 1]; %采用h3对图像f2进行卷积滤波 f4=conv2(f1,h3,'same'); %进行sobel滤波 h2=fspecial('sobel'); g3=filter2(h2,f1,'same');%卷积和多项式相乘 same相同的 k=mat2gray(g3);% 实现图像矩阵的归一化操作 四,图像处理素描(来源网络) f=imread(''); [VG,A,PPG] = colorgrad(f); ppg = im2uint8(PPG); ppgf = 255 - ppg; [M,N] = size(ppgf);T=200; ppgf1 = zeros(M,N); for ii = 1:M for jj = 1:N if ppgf(ii,jj)

2013数字图像处理课程设计报告

数字图像处理 课程设计报告 课设题目:彩色图像增强软件学院:信息科学与工程学院专业:电子与信息工程 班级: 1002501 姓名:曾小路 学号: 100250131 指导教师:赵占峰 哈尔滨工业大学(威海) 2013 年12月27日

目录 目录 .......................................................................................................................... I 一. 课程设计任务 (1) 二. 课程设计原理及设计方案 (2) 2.1 彩色图像基础 (2) 2.2 彩色模型 (2) 三. 课程设计的步骤和结果 (6) 3.1 采集图像 (6) 3.2 图像增强 (7) 3.3 界面设计 (9) 四. 课程设计总结 (12) 五. 设计体会 (13) 六. 参考文献 (14)

哈尔滨工业大学(威海)课程设计报告 一. 课程设计任务 1.1设计内容及要求: (1)、独立设计方案,根据所学知识,对由于曝光过度、光圈过小或图像亮度不均匀等情况下的彩色图像进行增强,提高图像的清晰度(通俗地讲,就是图像看起来干净、对比度高、颜色鲜艳)。 (2)、参考photoshop 软件,设计软件界面,对处理前后的图像以及直方图等进行对比显示; (3)、将实验结果与处理前的图像进行比较、分析。总结设计过程所遇到的问题。 1.2参考方案 1、实现图像处理的基本操作 学习使用matlab 图像处理工具箱,利用imread()语句读入图像,例如image=imread(flower.jpg),利用彩色图像模型转换公式,将RGB 类型图像转换为HSI 类型图像,显示各分量图像(如imshow(image)),以及计算和显示各分量图像直方图。 2、彩色图像增强实现 对HSI彩色模型图像的I分量进行对比度拉伸或直方图均衡化等处理,提高亮度图像的对比度。对S分量图像进行适当调整,使图像色彩鲜艳或柔和。 H 分量保持不变。将处理后的图像转换成RGB 类型图像,并进行显示。分析处理图像过程和结果存在的问题。 3、参照“photoshop”软件,设计图像处理软件界面 可设计菜单式界面,在功能较少的情况下,也可以设计按键式界面,视 功能多少而定;参考matlab 软件中GUI 设计,学习软件界面的设计 - 1 -

电子科技大学-数字图像处理-课程设计报告

电子科技大学 数字图像处理课程设计 课题名称数字图像处理 院(系)通信与信息工程学院 专业通信工程 姓名 学号 起讫日期 指导教师

2015年12月15日 目录 摘要: (03) 课题一:图像的灰度级分辨率调整 (04) 课题二:噪声的叠加与频域低通滤波器应用 (06) 课题三:顶帽变换在图像阴影校正方面的应用 (13) 课题四:利用Hough变换检测图像中的直线 (15) 课题五:图像的阈值分割操作及区域属性 (20) 课题六:基于MATLAB?的GUI程序设计 (23)

结束语: (36) 参考文献: (37)

基于MATLAB?的数字图像处理课题设计 摘要 本文首先对数字图像处理的相关定义、概念、算法与常用变换进行了介绍;并通过七个课题实例,借助MATLAB?的图像处理工具箱(Computer Vision System Toolbox)对这些案例逐一实现,包括图像的灰度值调整、图像噪声的叠加、频域低通滤波器、阈值分割、Hough变换等,常用的图像变化与处理;然后通过MATLAB?的GUI程序设计,对部分功能进行模块化整合,设计出了数字图像处理的简易软件;最后给出了软件的帮助文件以及该简易程序的系统结构和m代码。 关键词:灰度值调整噪声图像变换 MATLAB? GUI设计

课题一:图像的灰度级分辨率调整 设计要求: 128,64,32,16,8,4,2,并在同一个figure窗将图像的灰度级分辨率调整至{} 口上将它们显示出来。 设计思路: 灰度级分辨率又称色阶,是指图像中可分辨的灰度级的数目,它与存储灰度级别所使用的数据类型有关。由于灰度级度量的是投射到传感器上的光辐射值的强度,所以灰度级分辨率又称为辐射计量分辨率。随着图像灰度级分辨率的的逐渐降低,图像中所包含的颜色数目将变得越来越少,从而在颜色维度造成图像信息量的退化。 MATLAB?提供了histeq函数用于图像灰度值的改变,调用格式如下: J = histeq(I,n) 其中J为变换后的图像,I为输入图像,n为变换的灰度值。依次改变n的值为 128、64、32、16、8、4、2 就可以得到灰度值分辨率为128、64、32、16、8、4、2 的输出图像。利用MATLAB?的subplot命令可以将不同灰度的图像放在同一个figure中方便对比。 课题实现: 该思路的MATLAB?源代码如下: in_photo=imread('lena.bmp'); %读入图片“lena.bmp”,位置在matlab当前工作区路径下D:\TempProject\Matlab\Works for i = [128,64,32,16,8,4,2] syms(['out_photo',num2str(i)]); %利用for循环定义7个变量,作为不同灰度值分辨率的输出变量 eval(['out_photo',num2str(i), '=histeq(in_photo,i)',';']); %histeq函数用于改变图像灰度值,用eval函数给变量循环赋值

数字图像处理课程设计题目和要求-2013

. . . .页脚. 数字图像处理课程设计容、要求 题目一:图像处理软件 1、设计容及要求: (1)、独立设计方案,实现对图像的十五种以上处理(比如:底片化效果、灰度增强、图像复原、浮雕效果、木刻效果等等)。 (2)、参考photoshop软件,设计软件界面,对处理前后的图像以及直方图等进行对比显示; (3)、将实验结果与其他软件实现的效果进行比较、分析。总结设计过程所遇到的问题。 2、参考方案(所有参考方案若无特殊说明,均以matlab为例说明): (1)实现图像处理的基本操作 学习使用matlab图像处理工具箱,利用imread()语句读入图像,例如 image=imread(flower.jpg),对图像进行显示(如imshow(image)),以及直方图计算和显示。 (2)图像处理算法的实现与显示 针对课程中学习的图像处理容,实现至少十五种图像处理功能,例如模糊、锐化、对比度增强、复原操作。改变图像处理的参数,查看处理结果的变化。自己设计要解决的问题,例如引入噪声,去噪;引入运动模糊、聚焦模糊等,对图像进行复原。 (3)参照“photoshop”软件,设计图像处理软件界面 可设计菜单式界面,在功能较少的情况下,也可以设计按键式界面,视功能多少而定;参考matlab软件中GUI设计,学习软件界面的设计。

. . . 题目二:数字水印 1、设计容及要求: 为保护数字图像作品的知识产权,采用数字水印技术嵌入水印图像于作品中,同时尽可能不影响作品的可用性,在作品发生争执时,通过提取水印信息确认作品。通常情况下,水印图像大小要远小于载体图像,嵌入水印后的图像可能遇到噪声、有损压缩、滤波等方面的攻击。因此,评价水印算法的原则就是水印的隐藏性和抗攻击性。根据这一要求,设计水印算法。 (1)、查阅文献、了解数字水印的基本概念。 (2)、深入理解一种简单的数字水印嵌入与提取方法。 (3)、能够显示水印嵌入前后的载体图像。 (4)、能够显示嵌入与提取的水印。 (5)、选择一种以上的攻击方法,测试水印算法的鲁棒性等性能。 (6)、设计软件界面 2、参考方案 (1)对水印图像进行编码置乱(可采用伪随机码,提高水印图像的隐蔽性); (2) 对图像进行子图像分解(如8*8),对子块分别进行DCT变换; (3) 对DCT系数按照zig-zag排序进行排列,选择一种频系数,对该种频系数相邻 的系数进行水印嵌入 (4) 低通滤波检验水印算法的抗攻击性。 (5) 设计数字水印的软件界面。 .页脚.

武汉科技大学 数字图像处理实验报告

二○一四~二○一五学年第一学期电子信息工程系 实验报告书 班级:电子信息工程(DB)1102班姓名 学号: 课程名称:数字图像处理 二○一四年十一月一日

实验一图像直方图处理及灰度变换(2学时) 实验目的: 1. 掌握读、写、显示图像的基本方法。 2. 掌握图像直方图的概念、计算方法以及直方图归一化、均衡化方法。 3. 掌握图像灰度变换的基本方法,理解灰度变换对图像外观的改善效果。 实验内容: 1. 读入一幅图像,判断其是否为灰度图像,如果不是灰度图像,将其转化为灰度图像。 2. 完成灰度图像的直方图计算、直方图归一化、直方图均衡化等操作。 3. 完成灰度图像的灰度变换操作,如线性变换、伽马变换、阈值变换(二值化)等,分别使用不同参数观察灰度变换效果(对灰度直方图的影响)。 实验步骤: 1. 将图片转换为灰度图片,进行直方图均衡,并统计图像的直方图: I1=imread('pic.jpg'); %读取图像 I2=rgb2gray(I1); %将彩色图变成灰度图 subplot(3,2,1); imshow(I1); title('原图'); subplot(3,2,3); imshow(I2); title('灰度图'); subplot(3,2,4); imhist(I2); %统计直方图 title('统计直方图'); subplot(3,2,5); J=histeq(I2); %直方图均衡 imshow(J); title('直方图均衡'); subplot(3,2,6); imhist(J); title('统计直方图');

原 图 灰度图 01000 2000 3000统计直方图 100200直方图均衡 0统计直方图 100200 仿真分析: 将灰度图直方图均衡后,从图形上反映出细节更加丰富,图像动态范围增大,深色的地方颜色更深,浅色的地方颜色更前,对比更鲜明。从直方图上反应,暗部到亮部像素分布更加均匀。 2. 将图片进行阈值变换和灰度调整,并统计图像的直方图: I1=imread('rice.png'); I2=im2bw(I1,0.5); %选取阈值为0.5 I3=imadjust(I1,[0.3 0.9],[]); %设置灰度为0.3-0.9 subplot(3,2,1); imshow(I1); title('原图'); subplot(3,2,3); imshow(I2); title('阈值变换'); subplot(3,2,5); imshow(I3); title('灰度调整'); subplot(3,2,2); imhist(I1); title('统计直方图'); subplot(3,2,4);

数字图像处理课程设计报告

课程设计报告书课程名称:数字图像处理 题目:数字图像处理的傅里叶变换 学生姓名: 专业:计算机科学与技术 班别:计科本101班 学号: 指导老师: 日期: 2013 年 06 月 20 日

数字图像处理的傅里叶变换 1.课程设计目的和意义 (1)了解图像变换的意义和手段 (2)熟悉傅里叶变换的基本性质 (3)热练掌握FFT的方法反应用 (4)通过本实验掌握利用MATLAB编程实现数字图像的傅里叶变换 通过本次课程设计,掌握如何学习一门语言,如何进行资料查阅搜集,如何自己解决问题等方法,养成良好的学习习惯。扩展理论知识,培养综合设计能力。 2.课程设计内容 (1)熟悉并掌握傅立叶变换 (2)了解傅立叶变换在图像处理中的应用 (3)通过实验了解二维频谱的分布特点 (4)用MATLAB实现傅立叶变换仿真 3.课程设计背景与基本原理 傅里叶变换是可分离和正交变换中的一个特例,对图像的傅里叶变换将图像从图像空间变换到频率空间,从而可利用傅里叶频谱特性进行图像处理。从20世纪60年代傅里叶变换的快速算法提出来以后,傅里叶变换在信号处理和图像处理中都得到了广泛的使用。 3.1课程设计背景 数字图像处理(Digital Image Processing)又称为计算机图像处理,它是指将图像信号转换成数字信号并利用计算机对其进行处理的过程。是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法和技术。 3.2 傅里叶变换 (1)应用傅里叶变换进行数字图像处理 数字图像处理(digital image processing)是用计算机对图像信息进行处理的一门技术,使利用计算机对图像进行各种处理的技术和方法。 20世纪20年代,图像处理首次得到应用。20世纪60年代中期,随电子计算机的发展得到普遍应用。60年代末,图像处理技术不断完善,逐渐成为一个新兴的学科。利用数字图像处理主要是为了修改图形,改善图像质量,或是从图像中提起有效信息,还有利用数字图像处理可以对图像进行体积压缩,便于传输和保存。数字图像处理主要研究以下内容:傅立叶变换、小波变换等各种图像变换;对图像进行编码和压缩;采用各种方法对图像进行复原和增强;对图像进行分割、描述和识别等。随着技术的发展,数字图像处理主要应用于通讯技术、宇宙探索遥感技术和生物工程等领域。

图像处理课程设计报告

图像处理课程设计报告 导语:设计是把一种设想通过合理的规划周密的计划通过各种感觉形式传达出来的过程。以下是XX整理图像处理课程设计报告的资料,欢迎阅读参考。 图像处理课程设计报告1 摘要:图像处理技术从其功能上可以分为两大类:模拟图像处理技术、和数字图像处理技术。数字图像处理技术指的是将图像信号直接转换成为数字信号,并利用计算机进行处理的过程,其主要的特点在于处理的精度高、处理的内容丰富、可以进行复杂、难度较高的处理内容。当其不在于处理的速度比较缓慢。当前图像处理技术主要的是体现在数字处理技术上,本文说阐述的图像处理技术也是以数字图像处理技术为主要介绍对象。数字图像处理又称为计算机图像处理,它是指将图像信号转换成数字信号并利用计算机对其进行处理的过程。近年来, 图像处理技术得到了快速发展, 呈现出较为明显的发展趋势, 了解和掌握这些发展趋势对于做好目前的图像处理工作具有前瞻性的指导意义。本文总结了现代图像处理技术的三点发展趋势。 对图像进行处理(或加工、分析)的主要目的有三个方面: (1)提高图像的视感质量,如进行图像的亮度、彩色变换,增强、抑制某些成分,对图像进行几何变换等,以改善图像的质量。(2)提取图像中所包含的某些特征或特殊信息,这些被提

取的特征或信息往往为计算机分析图像提供便利。提取特征或信息的过程是计算机或计算机视觉的预处理。提取的特征可以包括很多方面,如频域特征、灰度或颜色特征、边界特征、区域特征、纹理特征、形状特征、拓扑特征和关系结构等。 (3)图像数据的变换、编码和压缩,以便于图像的存储和传输。不管是 何种目的的图像处理,都需要由计算机和图像专用设备组成的图像处理系统对图像数据进行输入、加工和输出。 数字图像处理主要研究的内容有以下几个方面: 图像变换由于图像阵列很大,直接在空间域中进行处理,涉及计算量很大。因此,往往采用各种图像变换的方法,如傅里叶变换、沃尔什变换、离散余弦变换等间接处理技术,将空间域的处理转换为变换域处理,不仅可减少计算量,而且可获得更有效的处理。目前新兴研究的小波变换在时域和频域中都具有良好的局部化特性,它在图像处理中也有着广泛而有效的应用。 图像编码压缩图像编码压缩技术可减少描述图像的数据量,以便节省图像传输、处理时间和减少所占用的存储器容量。压缩可以在不失真的前提下获得,也可以在允许的失真条件下进行。编码是压缩技术中最重要的方法,它在图像处理技术中是发展最早且比较成熟的技术。

数字图像处理技术应用课程报告

集中稀疏表示的图像恢复 董伟胜中国西安电子科技大学电子工程学院wsdong@https://www.doczj.com/doc/c42166677.html, 张磊香港理工大学计算机系cslzhang@https://www.doczj.com/doc/c42166677.html,.hk 石光明中国西安电子科技大学电子工程学院gmshi@https://www.doczj.com/doc/c42166677.html, 摘要 本文对于图像恢复任务提出了一种新的称为集中稀疏表示(CSR)的稀疏表示模型。为了重建高还原度的图像,通过给定的字典,退化图像的稀疏编码系数预计应该尽可能接近那些未知的原始图像。然而,由于可用的数据是原始图像的退化版本(如噪声、模糊和/或者低采样率),正如许多现有的稀疏表示模型一样,如果只考虑局部的稀疏图像,稀疏编码系数往往不够准确。为了使稀疏编码更加准确,通过利用非局部图像统计,引入一个集中的稀疏性约束。为了优化,局部稀疏和非局部稀疏统一到一个变化的框架内。大量的图像恢复实验验证了我们的CSR模型在以前最先进的方法之上取得了令人信服的改进。 1、介绍 图像恢复(IR)目的是为了从,比如说通过一个低端摄像头或者在有限条件下得到图像的图像退化版本(例如噪声、模糊和/或者低采样率),来恢复一副高质量的图像。对于观察的图像y,IR问题可以表示成: y = Hx + v (1) 其中H是一个退化矩阵,x是原始图像的矢量,v是噪声矢量。由于IR的病态特性,尝试把观察模型和所需解决方案的先验知识合并到一个变分公式的正则化技术,已经被广泛地研究。对于正则方法,对自然图像适当的先验知识进行寻找和建模是最重要的关注点之一,因此学习自然图像先验知识的各种方法已经被提出来了【25,5,6,12】。 近年来,对于图像恢复基于建模的稀疏表示已经被证明是一种很有前途的模型【9,5,13,20,16,21,27,15,14】。在人类视觉系统【23,24】的研究中,已经发现细胞感受区域使用少量的从一个超完备的编码集中稀疏选出的结构化基元来编码自然图像。在数学上,一个x ∈ R N的信号可以表示为一个字典Φ中的几个原子的线性组合,例如,X ≈Φα,用|0 最小化:

图像处理课程设计

《图像处理技术应用实践》课程设计题目图像增强算法综合应用 学生姓名韩帅_______ 学号 院系计算机与软件学院 专业计算机科学与技术 范春年____ 噪声,不同的去噪方法效果不同,因此应该采用不同的去噪方法以达到最好的去噪效果。? (2)随机噪声应在空间域去除,而空域去噪方法中,中值滤波法效果最好。? (3)周期噪声应在频域中消去。?

(4)去除噪声后的图像仍然可以改善处理。? (5)均方误差评估去噪处理后图像的去噪效果。 2.2算法设计? (1)读入初始图片及加噪图片。? clc;?clear;? f=imread();? ? for?j?=?1?:?N? ???????d?=?sqrt((i-m)^2+(j-n)^2);? ????? h?=?1/(1+0.414*(d/d0)^(2*nn));??%?计算低通滤波器传递函数??????????? ?result(i,j)?=?h?*?G(i,j);???????? end???

end (4)计算均方误差评估去噪效果。? [m?n]=size(p);?l=f-p;? he=sum(sum(l));? avg=he/(m*n); ?k=l-avg;? result1=(sum(sum(k.^2)))/(m*n);? for i=1:M for j=1:N d=sqrt((i-m)^2+(j-n)^2); h=1/(1+0.414*(d/d0)^(2*nn)); %h=1/(1+(d/d0)^(2*nn)); %备用 G(i,j)=h*G(i,j); end end p=uint8(real(ifft2(ifftshift(G)))); subplot(341);imshow(f),title('原图'); subplot(345);imshow(log(abs(f2)),[]),title('频谱'); subplot(349);imhist(f),title('原图'); subplot(342);imshow(g),title('噪声');

数字图像处理课程设计(实验报告)

上海理工大学 计算机工程学院 实验报告 实验名称红细胞数目统计课程名称数字图像处理 姓名王磊学号0916020226 日期2012-11-27 地点图文信息中心成绩教师韩彦芳

一、设计内容: 主题:《红细胞数目检测》 详细说明:读入红细胞图片,通过中值滤波,开运算,闭运算,以及贴标签等方法获得细胞个数。 二、现实意义: 细胞数目检测在现实生活中的意义主要体现在医学上的作用,可通过细胞数目的检测来查看并估计病人或动物的血液中细胞数,如估测血液中红细胞、白细胞、血小板、淋巴细胞等细胞的数目,同时也可检测癌细胞的数目来查看医疗效果,根据这一系列的指标来对病人或动物进行治疗,是具有极其重要的现实作用的。 三、涉及知识内容: 1、中值滤波 2、开运算 3、闭运算 4、二值化 5、贴标签 四、实例分析及截图效果: (1)代码如下: 1、程序中定义图像变量说明 (1)Image--------------------------------------------------------------原图变量;

(2)Image_BW-------------------------------------------------------值化图象; (3)Image_BW_medfilt-------------------------中值滤波后的二值化图像; (4)Optimized_Image_BW---通过“初次二值化图像”与“中值滤波后的二值化图像”进行“或”运算优化图像效果; (5)Reverse_Image_BW--------------------------优化后二值化图象取反;(6)Filled_Image_BW----------------------已填充背景色的二进制图像;(7)Open_Image_BW--------------------------------------开运算后的图像; 2、实现代码: %-------图片前期处理------------------- %第一步:读取原图,并显示 A = imread('E:\红细胞3.png'); Image=rgb2gray(A); %RGB转化成灰度图 figure,imshow(Image); title('【原图】'); %第二步:进行二值化 Theshold = graythresh(Image); %取得图象的全局域值 Image_BW = im2bw(Image,Theshold); %二值化图象 figure,imshow(Image_BW); title('【初次二值化图像】'); %第三步二值化图像进行中值滤波 Image_BW_medfilt= medfilt2(Image_BW,[13 13]); figure,imshow(Image_BW_medfilt); title('【中值滤波后的二值化图像】'); %第四步:通过“初次二值化图像”与“中值滤波后的二值化图像”进行“或”运算优化图像效果 Optimized_Image_BW = Image_BW_medfilt|Image_BW; figure,imshow(Optimized_Image_BW); title('【进行“或”运算优化图像效果】'); %第五步:优化后二值化图象取反,保证:‘1’-〉‘白色’,‘0’-〉‘黑色’ %方便下面的操作 Reverse_Image_BW = ~Optimized_Image_BW; figure,imshow(Reverse_Image_BW); title('【优化后二值化图象取反】');

图形图像处理实验报告

第四次实验报告 实验课程:图像图像处理实验人:尹丽(200921020047) 实验时间:2012年4月19日实验地点:5-602 指导老师:夏倩老师成绩: 一、实验内容: ⑴图像的锐化:使用Sobel,Laplacian 算子分别对图像进行运算,观察并体会运算结果。 ⑵综合练习:对需要进行处理的图像分析,正确运用所学的知识,采用正确的步骤,对图像进行各类处理,以得到令人满意的图像效果。 二、实验目的: 学会用Matlab中的下列函数对输入图像按实验内容进行运算;感受各种不同的图像处理方法对最终图像效果的影响。(imfilter;fspecial;) 三、实验步骤:

1、仔细阅读Matlab 帮助文件中有关以上函数的使用说明,能充分理解其使用方法并能运用它们完成实验内容。 2、将Fig3.41(c).jpg 图像文件读入Matlab ,使用filter2函数分别采用不同的算子对其作锐化运算,显示运算前后的图像。 3、算子的输入可采用直接输入法。其中Sobel ,Laplacian ,也可用fspecial 函数产生。 4、各类算子如下: ???? ??????---121000121 ??????????-111181111 5、将Fig3.46(a).jpg 图像文件读入Matlab ,按照以下步骤对其进行处理: (1)用带对角线的Laplacian 对其处理,以增强边缘。 (2)用imadd 函数叠加原始图像。可以看出噪声增强了,应想法降低。 (3)获取Sobel 模板并用filter2对其进行5×5邻域平均,以减少噪声。 5(1)实验代码如图: 对角线Laplacian Sobel 垂直梯度

数字图像处理课程设计报告

课程设计报告书 课程名称:数字图像处理 题目:数字图像处理的傅里叶变换 学生姓名: 专业:计算机科学与技术 班别:计科本101班 学号: 指导老师: 日期:2013 年06 月20 日 数字图像处理的傅里叶变换 1.课程设计目的和意义 (1)了解图像变换的意义和手段 (2)熟悉傅里叶变换的基本性质 (3)热练掌握FFT的方法反应用 (4)通过本实验掌握利用MATLAB编程实现数字图像的傅里叶变换 通过本次课程设计,掌握如何学习一门语言,如何进行资料查阅搜集,如何自己解决问题等方法,养成良好的学习习惯。扩展理论知识,培养综合设计能力。 2.课程设计内容 (1)熟悉并掌握傅立叶变换 (2)了解傅立叶变换在图像处理中的应用 (3)通过实验了解二维频谱的分布特点 (4)用MATLAB实现傅立叶变换仿真

3.课程设计背景与基本原理 傅里叶变换是可分离和正交变换中的一个特例,对图像的傅里叶变换将图像从图像空间变换到频率空间,从而可利用傅里叶频谱特性进行图像处理。从20世纪60年代傅里叶变换的快速算法提出来以后,傅里叶变换在信号处理和图像处理中都得到了广泛的使用。 3.1课程设计背景 数字图像处理(Digital Image Processing)又称为计算机图像处理,它是指将图像信号转换成数字信号并利用计算机对其进行处理的过程。是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法和技术。 3.2 傅里叶变换 (1)应用傅里叶变换进行数字图像处理 数字图像处理(digital image processing)是用计算机对图像信息进行处理的一门技术,使利用计算机对图像进行各种处理的技术和方法。 ? ??20世纪20年代,图像处理首次得到应用。20世纪60年代中期,随电子计算机的发展得到普遍应用。60年代末,图像处理技术不断完善,逐渐成为一个新兴的学科。利用数字图像处理主要是为了修改图形,改善图像质量,或是从图像中提起有效信息,还有利用数字图像处理可以对图像进行体积压缩,便于传输和保存。数字图像处理主要研究以下内容:傅立叶变换、小波变换等各种图像变换;对图像进行编码和压缩;采用各种方法对图像进行复原和增强;对图像进行分割、描述和识别等。随着技术的发展,数字图像处理主要应用于通讯技术、宇宙探索遥感技术和生物工程等领域。 傅里叶变换在数字图像处理中广泛用于频谱分析,傅里叶变换是线性系统分析的一个有力工具,它使我们能够定量地分析诸如数字化系统,采样点,电子放大器,卷积滤波器,噪声,显示点等地作用(效应)。傅里叶变换(FT)是数字图像处理技术的基础,其通过在时空域和频率域来回切换图像,对图像的信息特征进行提取和分析,简化了计算工作量,被喻为描述图像信息的第二种语言,广泛应用于图像变换,图像编码与压缩,图像分割,图像重建等。因此,对涉及数字图像处理的工作者,深入研究和掌握傅里叶变换及其扩展形式的特性,是很有价值得。 (2)关于傅里叶(Fourier)变换 在信号处理中,傅里叶变换可以将时域信号变到频域中进行处理,因此傅里叶变换在信号处理中有着特殊重要的地位。 傅里叶变换能将满足一定条件的某个函数表示成三角函数(正弦和/或余弦函数)或者它们的积分的线性组合。在不同的研究领域,傅里叶变换具有多种不同的变体形式,如连续傅里叶变换和离散傅里叶变换。傅里叶变换属于谐波分析。傅里叶变换的逆变换容易求出,而且形式与正变换非常类似;正弦基函数是微分运算的本征函数,从而使得线性微分方程的求解可以转化为常系数的代数方程的求解.在线性时不变的物理系统内,频率是个不变的性质,从而系统对于复杂激励的响应可以通过组合其对不同频率正弦信号

数字图像处理课程设计报告

本科综合课程设计报告 题 目 ____________________________ 指导教师__________________________ 辅导教师__________________________ 学生姓名__________________________ 学生学号__________________________ _______________________________ 院(部)____________________________专业________________班 ___2008___年 _12__月 _30__日 数字图像处理演示系统 信息科学与技术学院 通信工程 052

1 主要内容 1.1数字图像处理背景及应用 数字图像处理的目的是改善图像的质量,它以人为对象,以改善人的视觉效果为目的。目前,图像处理演示系统应用领域广泛医学、军事、科研、商业等领域。因为数字图像处理技术易于实现非线性处理,处理程序和处理参数可变,故是一项通用性强,精度高,处理方法灵活,信息保存、传送可靠的图像处理技术。本图像处理演示系统以数字图像处理理论为基础,对某些常用功能进行界面化设计,便于初级用户的操作。 1.2 图像处理演示系统设计要求 能加载和显示原始图像,显示和输出处理后的图像; 系统要便于维护和具备可扩展性; 界面友好便于操作; 1.3 图像处理演示系统设计任务 数字图像处理演示系统应该具备图像的几何变换(平移、缩放、旋转、翻转)、图像增强(空间域的平滑滤波与锐化滤波)的简单处理功能。 1.3.1几何变换 几何变换又称为几何运算,它是图像处理和图像分析的重要内容之一。通过几何运算,可以根据应用的需要使原图像产生大小、形状、和位置等各方面的变化。简单的说,几何变换可以改变像素点所在的几何位置,以及图像中各物体之间的空间位置关系,这种运算可以被看成是将各物体在图像内移动,特别是图像具有一定的规律性时,一个图像可以由另外一个图像通过几何变换来产生。实际上,一个不受约束的几何变换,可将输入图像的一个点变换到输出图像中的任意位置。几何变换不仅提供了产生某些特殊图像的可能,甚至还可以使图像处理程序设计简单化。从变换性质来分可以分为图像的位置变换、形状变换等 1.3.2图像增强 图像增强是数字图像处理的基本内容之一,其目的是根据应用需要突出图像中的某些“有用”的信息,削弱或去除不需要的信息,以达到扩大图像中不同物体特征之间的差别,使处理后的图像对于特定应用而言,比原始图像更合适,或者为图像的信息提取以及其他图像分析技术奠定了基础。一般情况下,经过增强处理后,图像的视觉效果会发生改变,这种变化意味着图像的视觉效果得到了改善,某些特定信息得到了增强。

数字图像处理课程心得

数字图像处理课程心得 本学期,我有幸学习了数字图像处理这门课程,这也是我大学学习中的最后一门课程,因此这门课有着特殊的意义。人类传递信息的主要媒介是语音和图像。据统计,在人类接受的信息中,听觉信息占20%,视觉信息占60%,其它如味觉、触觉、嗅觉信息总的加起来不过占20%。可见图像信息是十分重要的。通过十二周的努力学习,我深刻认识到数字图像处理对于我的专业能力提升有着比较重要的作用,我们可以运用Matlab对图像信息进行加工,从而满足了我们的心理、视觉或者应用的需求,达到所需图像效果。 数字图像处理起源于20世纪20年代,当时通过海底电缆从英国伦敦到美国纽约采用数字压缩技术传输了第一幅数字照片。此后,由于遥感等领域的应用,使得图像处理技术逐步受到关注并得到了相应的发展。第三代计算机问世后,数字图像处理便开始迅速发展并得到普遍应用。由于CT的发明、应用及获得了备受科技界瞩目的诺贝尔奖,使得数字图像处理技术大放异彩。目前数字图像处理科学已成为工程学、计算机科学、信息科学、统计学、物理、化学、生物学、医学甚至社会科学等领域中各学科之间学习和研究的对象。随着信息高速公路、数字地球概念的提出以及Internet的广泛应用,数字图像处理技术的需求与日俱增。其中,图像信息以其信息量大、传输速度快、作用距离远等一系列优点成为人类获取信息的重要来源及利用信息的重要手段,因此图像处理科学与技术逐步向其他学科领域渗透并为其它学科所利用是必然的。 数字图像处理是通过对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法和技术。数字图像处理的产生和迅速发展主要受三个因素的影响:一是计算机的发展;二是数学的发展(特别是理论的创立和完善);三是广泛的农牧业、林业、环境、军事、工业和医学等方面的应用需求的增长。图像处理科学是一门与国计民生紧密相联的应用科学,它给人类带来了巨大的经济和社会效益,不久的将来它不仅在理论上会有更深入的发展,在应用上亦是科学研究、社会生产乃至人类生活中不可缺少的强有力的工具。它的发展及应用与我国的现代化建设联系之密切、影响之深远是不可估量的。在信息社会中,数字图象处理科学无论是在理论上还是在实践中都存在着巨大的潜力。近几十年,数字图像处理技术在数字信号处理技术和计算机技术发展的推动下得到了飞速的发展,正逐渐成为其他科学技术领域中不可缺少的一项重要工具。数字图像处理的应用领域越来越广泛,从空间探索到微观研究,从军事领域到工农业生产,从科学教育到娱乐游戏,越来越多的领域用到了数字图像处理技术。 虽然通过一学期的课程学习我们还没有完全掌握数字图像处理技术,但也收获了不少,对于数字图像处理方面的知识有了比较深入的了解,当然也更加理解了数字图像的本质,即是一些数字矩阵,但灰度图像和彩色图像的矩阵形式是不同的。对于一些耳熟能详的数字图像相关术语有了明确的认识,比如常见的:像素(衡量图像的大小)、分辨率(衡量图像的清晰程度)、位图(放大后会失真)、矢量图(经过放大不会失真)等大家都能叫上口却知识模糊的名词。也了解图像处理技术中一些常用处理技术的实质,比如锐化处理是使模糊的图像变清晰,增强图像的边缘等细节。而平滑处理是的目的是消除噪声,模糊图像,在提取大目标之前去除小的细节或弥合目标间的缝隙。对常提的RGB图像和灰度图像有了明确的理解,这对大家以后应用Photoshop等图像处理软件对图像进行处理打下了坚实的基础。更重要的是学习到了数字图像处理的思想。通过学习也是对C++编程应用的很好的实践与复习。 数字图像处理在国民经济的许多领域已经得到广泛的应用。农林部门通过遥感图像了解植物生长情况,进行估产,监视病虫害发展及治理。水利部门通过遥感图像分析,获取水害灾情的变化。气象部门用以分析气象云图,提高预报的准确程度。国防及测绘部门,使用航测或卫星获得地域地貌及地面设施等资料。机械部门可以使用图像处理技术,自动

数字图像处理课程设计 matlab

《数字图像处理》课程设计文档 目录 一、课程设计目的 (2) 二、课程设计要求 (2) 三、课程设计的内容 (2) 四、课题分析 (3) 五、总体设计 (3) 六、具体设计 (4) 6.1、文件 (4) 6.1.1、打开 (4) 6.1.2、保存 (4) 6.1.3、打印 (4) 6.1.4、退出 (4) 6.2、直方图统计 (4) 6.2.1、R直方图 (4) 6.2.2、G直方图 (4) 6.2.3、B直方图 (4) 6.3、图像增强处里 (5) 6.3.1、直方图均衡化 (5) 6.3.2、对比度展宽 (6) 6.3.3、动态范围调整 (6) 6.3.4、空间域平滑算法 (6) 6.3.4.1、均值滤波 (7) 6.3.4.2、中值滤波 (7) 6.3.4.3、边界保持滤波 (8) 6.4、图像分割 (8) 6.4.1、均匀性度量法 (8) 6.4.2、类间最大距离法 (9) 6.4.3、局部阈值法 (9) 6.5、颜色空间转化 (9) 6..5.1、RGB转HSV (10) 6.5.2、RGB转HIS (10) 6.6、其他图像处理功能 (10) 6.6.1、锐化 (10) 6.6.2、傅里叶………………………………………………………….10\\

七、程序调试及结果分析 (11) 八、心得体会 (11) 九、参考文献 (11) 十、附录 (12) 基于MATLAB的图像处理的课程设计 一、课程设计目的 1、提高分析问题、解决问题的能力,进一步巩固数字图像处理系统中的基本原理与方法。 2、熟悉掌握一门计算机语言,可以进行数字图像的应用处理的开发设计。 二、课程设计要求 1、要求独立完成设计项目,开发工具为MATLAB,也可为C、C++、java等, 具体自选。各组长有责任督促组员完成任务并提交报告; 2、时间为4月28日~6月28日为其两个月的业余时间。 三、课程设计的内容 学习MATLAB GUI程序设计,利用MATLAB图像处理工具箱,设计和实现自己的Photoshop 。要求:按照软件工程方法,根据需求进行程序的功能分析和界面设计,给出设计详细说明。然后按照自己拟定的功能要求进行程序设计和调试。

MATLAB课程设计报告图像处理

一.课程设计相关知识综述...................................................................... 1.1 研究目的及意义 (3) 1.2 数字图像处理研究的内容........................................................... 1.3 MATLAB 软件的介绍.................................................................. 1.3.1 MATLAB 语言的特点......................................................... 1.3.2 MATLAB 图像文件格式.................................................... 1.3.3 MATLAB 图像处理工具箱简介........................................ 1.3.4 MATLAB 中的图像类型.................................................... 1.3.5 MATLAB 的主要应用........................................................ 1.4 函数介绍........................................................................................ 二.课程设计内容和要求........................................................................... 2.1 主要研究内容................................................................................ 2.2 具体要求....................................................................................... 2.3 预期达到的目标........................................................................... 三.设计过程............................................................................................... 3.1 设计方案及步骤............................................................................ 3.2 程序清单及注释........................................................................... 3.3 实验结果........................................................................................ 四.团队情况................................................................................................ 五.总结....................................................................................................... 六.参考文献............................................................................................... 一.课程设计相关知识综述. 1.1研究目的及意义

相关主题
文本预览
相关文档 最新文档