图像处理演示系统课程设计

图像处理演示系统课程设计
图像处理演示系统课程设计

《图像处理演示系统课程设计》

院、系(部)

专业及班级

学号

姓名

日期

摘要

数字图像处理的目的在于改善图像的质量,主要以改善人的视觉效果为目的。目前,图像处理技术应用领域广泛医学、军事、科研、商业等领域。因为数字图像处理技术易于实现非线性处理,处理程序和处理参数可变,故是一项通用性强,精度高,处理方法灵活,信息保存、传送可靠的图像处理技术。

本图像处理演示系统以数字图像处理理论为基础,对部分常用功能进行可视化设计,简洁大方,方便用户操作。本文使用MATLAB设计良好的用户界面,从加载、显示、输出及图像的几何变换(平移、缩放、旋转、翻转)与图像增强(空间域的平滑滤波与锐化滤波)等方面提供了简单但实用的基本图像处理功能。

1.主要内容

1.1 图像处理演示系统设计要求

1)能加载和显示原始图像,显示和输出处理后的图像;

2)实现各部分功能且便于维护和具备可扩展性;

3)界面美观并且便于操作;

1.2图像处理演示系统设计任务

数字图像处理演示系统应该具备图像的图像增强(空间域的平滑滤波与锐化滤波)、几何变换(平移、缩放、旋转、翻转)、绘制直方图的简单处理功能。

1.2.1图像增强

图像增强是数字图像处理的基本内容之一,其目的是根据应用需要突出图像中的某些“有用”的信息,削弱或去除不需要的信息,以达到扩大图像中不同物体特征之间的差别,使处理后的图像对于特定应用而言,比原始图像更合适,或者为图像的信息提取以及其他图像分析技术奠定了基础。一般情况下,经过增强处理后,图像的视觉效果会发生改变,这种变化意味着图像的视觉效果得到了改善,某些特定信息得到了增强。

1.2.2几何变换

几何变换又称为几何运算,它是图像处理和图像分析的重要内容之一。通过几何运算,可以根据应用的需要使原图像产生大小、形状、和位置等各方面的变化。简单的说,几何变换可以改变像素点所在的几何位置,以及图像中各物体之间的空间位置关系,这种运算可以被看成是将各物体在图像内移动,特别是图像具有一定的规律性时,一个图像可以由另外一个图像通过几何变换来产生。实际上,一个不受约束的几何变换,可将输入图像的一个点变换到输出图像中的任意位置。几何变换不仅提供了产生某些特殊图像的可能,甚至还可以使图像处理程序设计简单化。从变换性质来分可以分为图像的位置变换、形状变换等

2.设计思想:

2.1 图像处理演示系统实现工具的选择

使用MATLAB软件进行界面设计及程序编写。

2.2 系统结构框图

3.图形用户界面设计

GUI是实现人机交互的中介,可以通过它实现数据输入、处理和输出。MA TLAB提供了一个专门的GUI设计工具——图形用户界面开发环境(GUIDE),使用该工具,可以快速完成GUI设计任务。利用MATLAB提供的有关数据,还可以创建工具栏控件和多种对话框。

3.1启动GUIDE

在命令窗口输入GUIDE,则显示如下的“GUIDE Quick Start”对话框。

打开“GUIDE Quick Start”对话框,利用GUIDE模板创建新的GUI,选择一个模板后,点击OK按钮,在输出编辑器中打开GUI。添加菜单以及选择模板后点击运行显示如下:

4.图像处理演示系统各功能的实现

4.1文件的打开与保存

4.1.1文件的打开

在主菜单“文件”的下拉菜单中,有个“打开”选项,在其回调函数中添加打开某个文件的相关代码:

[, pathname] = uigetfile( ...

{'*.bmp;*.jpg;*.gif;','Files (*.bmp,*.jpg,*.gif)';

'*.bmp', '位图文件(*.bmp)'; ...

'*.jpg','Figures (*.jpg)'; ...

'*.gif','MAT-files (*.gif)'; ...

'*.*', 'All Files (*.*)'}, ...

'Open a file');

global w h img xx;

L=length();

if < 5 return

end

V=strcat(pathname,);

xx=imfinfo(V);

handles.my_data1=V;

guidata(hObject,handles);

axes(handles.axes1);

img = imread(V);

[w,h,l]=size(img);

imshow(img);

为将要打开文件的文件名,pathname为将要打开文件的路径。Uigetfile函数中主要有两部分参数'*.bmp;*.jpeg;*.gif…'是想要打开文件的格式,’Open the file’是生成文件选择打开对话框的标题,载入一幅位图,其运行效果如下:

4.1.2文件的保存

在主菜单“文件”的下拉菜单中,有个“保存”选项,在其回调函数中添加保存某个文件的相关代码:

[new]=uiputfile( ...

{'*.bmp;*.jpg;*.gif;','MATLAB Files (*.bmp,*.jpg,*.gif)';

'*.bmp', '位图文件(*.bmp)'; ...

'*.jpg','Figures (*.jpg)'; ...

'*.gif','MAT-files (*.gif)'; ...

'*.*', 'All Files (*.*)'}, ...

'Save a file');

global img;

imwrite(img,strcat(newpath,newfile));

把当前文件保存到用户选择的保存路径下,文件保存对话框中列出当前目录下的所有文件,保存的文件名和路径名保存到new中。

4.2 图像的增强

4.2.1 图像的平滑滤波处理

1)平滑滤波的作用:

对图像的高频分量进行消弱或消除,增强图像的低频分量。平滑滤波一般用于消除图像中的随即噪声,从而起到图像平滑的作用

2)平滑滤波原理:

(1)邻域平均滤波法

邻域平均滤波法是将一个像素点及其邻域中的所有像素点的平均值赋给输出图像中相应的像素点,从而达到平滑的目的,又称均值滤波法。最简单的邻域平均滤波法是所有模板系数都取相同的值.

邻域平均滤波法的运算公式为:

g(x,y)=1/N ∑f(i.j) x,y=0,1,2,…,N-1

j=∈M

其中,M是以(x,y)为中心的邻域像素点的集合,N是该邻域内像素点的总个数,对每个像素点按该公式进行计算即可得到增强图像中所有像素点的灰度值。

(2)中值滤波法

尽管邻域平均滤波法可以起到平滑图像的作用,但在消除噪声的同时会使图像中的一些细节变得模糊。中值滤波法则在消除噪声的同时还能保持图像中的细节部分,防止图像的边缘部分模糊。

与邻域平均法不同,中值滤波是将邻域内所有的像素点值按从小到大的顺序排列,取中间值作为中心像素点的输出值。其原理是利用一个奇数点的移动窗口,将窗口中心点的值用窗口各点的中间值代替,与均值滤波不同,它不是通过对邻域内的所有像素点求平均值来消除噪声的,而是让与周围像素点灰度值的差比较大的像素点改取近似于周围像素点灰度值的值。从而达到消除噪声的目的。

3)实现方法:

这里主要以采用中值滤波法对图像进行处理(平滑处理)为例,其实现方法如下:

global w h img;

img2 = img;

for i=2:w-1

for j=2:h-1

for m=1:3

for n=1:3

hhh((m-1)*3+n)=img(i+m-2,j+n-2);

end

end

for p=1:9

for q=p+1:9

if(hhh(p)>hhh(q))

temp=hhh(p);

hhh(p)=hhh(q);

hhh(q)=temp;

end

end

end

img2(i,j)=hhh(5);

end

end

img = img2;

imshow(img);

中值滤波处理(平滑处理)后的结果为:

4.2.2图像的锐化滤波处理

1) 锐化滤波的作用:

图像的平滑处理会使图像的边缘纹理信息受到损失,图像变得比较模糊。如果需要突出图像的边缘纹理信息,则可以通过锐化滤波器实现,它可以消除或减弱图像的低频分量从而增强图像中物体的边缘轮廓信息,使得除边缘以外的像素点的灰度值趋向于零。

2)锐化滤波原理

锐化滤波器是以对图像的微分运算或差分运算为基础。微分运算是求像素点灰度值的变化率,而图像内不同物体边缘处的像素点的灰度值往往变化比较明显,因此微分运算或差分运算可以起到增强边缘信息的作用。

锐化算子:

0 -1 0

H = -1 4 -1

0 -1 0

3)实现方法:

global w h img;

img1=im2double(img);

a=img1(:,:,1);

b=img1(:,:,2);

c=img1(:,:,3);

img2=img1;

for i=2:w-1

for j=2:h-1

img2(i,j)=abs(4*img1(i,j)-img1(i-1,j)-img1(i+1,j)-img1(i,j-1)-img1(i,j+1));

end

end

img = im2uint8(img2);

imshow(img);

其锐化处理结果为:

4.3 图像的几何变换

4.3.1 对图像进行平移

1)图像平移的作用:

将图像中的某点从一个位置(X,Y)移动到另外一个位置(X0,Y0),而使平移后的图像与原始图像完全相同。

2)图像平移原理:

图像的平移是图像变换中最简单的变换之一,其特点是平移后的图像与原图像完全相同,平移后新图像上的每一个点都可以在原图像中找到对应的点。

若点A0(X0,Y0)进行平移后,被移到A(X,Y),其中X方向的平移量为△X.Y方向的平移量为△Y,那么点A(X,Y)的坐标为:

X=X0+△X

Y=Y0+△Y

实现方法:

global w h img;

prompt={'请输入横向平移量?'}; title='';

ansa=inputdlg(prompt,title);

x1=str2num(ansa{1});

handles.my_data4=x1;

prompt={'请输入纵向平移量'}; title='';

ansa=inputdlg(prompt,title);

y1=str2num(ansa{1});

handles.my_data5=y1;

guidata(hObject,handles) %上段代码中的x1,y1即为需要输入的横向平移量与纵向平移量for x=1:w

for y=1:h

PosSourceX=uint16(x+x1);

PosSourceY=uint16(y+y1);

if((PosSourceX<1) || (PosSourceX>w) || (PosSourceY<1) || (PosSourceY>h)) if (xx.BitDepth==24) Transfor(x, y,1:3) = uint8(1);

else Transfor(x, y) = uint8(1);end

else if (xx.BitDepth==24)

img(x,y,1:3) = BmpImage(PosSourceX,PosSourceY,1:3);

else img(x,y) = BmpImage(PosSourceX,PosSourceY);

end end end end

imshow(img)%(PosSourceX和PosSourceY是平移后坐标点,Transfor为平移后图片)

4.3.2 对图像进行缩放

1)图像缩放的作用:

对图像进行缩小和放大的处理,可分别对其宽和高的缩放量进行设置。

2)图像缩放原理:

通常情况下,数字图像的比例缩放是将给定的图像在X方向和Y方向按相同比例缩放a倍。从而获得一副新的图像,如果X方向和Y方向缩放的比例不同,则图像的比例缩放会改变原始图像像素之间的相对位置,产生几何畸变。设原始图像中的点A0(X0,Y0)比例缩放后,在新图像中的对应点为A1(X1,Y1),则坐标关系可表示为:

X1=aX0

Y1=bX0

若比例缩放所产生的图像中的像素在原图像中没有相对应的像素点时,就需要进行灰度值的插值运算,一般有以下两种插值处理方法。

(1)直接赋值为和它最相近的像素灰度值,这种方法称为最邻近插值法,该方法的主要特点是简单、计算量很小、但可能会产生马赛克现象;

(2)通过其他数学插值算法来计算相应像素点的灰度值,这类方法处理效果好,但运算量会有所增加

3)实现方法:

prompt={'请输入X向缩放倍数:'}; title='';

ansa=inputdlg(prompt,title);

sx=str2num(ansa{1});

handles.my_data3=sx;

guidata(hObject,handles)

m=xx.Width;

n=xx.Height; m1=m*sx;n1=n*sy; %设置Y向缩放倍数sy. for h=1:m1;

for w=1:n1;

b(h,w)=i(round(h/sx),round(w/sy));%round 取最邻近整数

end

end

(m,n为原始图像的二维数据,m1,n1为缩放后的图像二维数据,xx为读取的原始图像信息) 缩放处理结果显示如下:

4.3.3 对图像进行旋转

1)图像旋转的作用:

对图像进行任意角度的旋转。

2)图像旋转原理:

图像的旋转变换是几何学中研究的重要内容之一,一般情况下,图像的旋转变换是指以图像的中心为原点,将图像上的所有像素都旋转同一个角度的变换。图像经过旋转变换之后,图像的位置发生了改变,但旋转后,图像的大小一般会改变。和平移变换一样,在图像旋转变换中既可以把转出显示区域的图像截去,又可以扩大显示区域的图像范围以显示图像的全部。

设原始图像的任意点A0(X0,Y0)经过旋转β角度以后到新的位置A(X,Y),为表示方便,采用极坐标形式表示,原始点的角度为а。如下图所示

P

r A(X,Y)

r A0(X0,Y0)

根据极坐标与二维垂直坐标的关系,原始图像的点A0(X0,Y0)的X0和Y0坐标如下:

X0=rcosа

Y0=rsinа

旋转到新位置以后点A(X,Y)的坐标如下:

X=rcos(а-β)=rcosаcosβ+rsinаsinβ=X0cosβ+Y0sinβ

Y=rsin(а-β)=rsinаcosβ-rcosаsinβ=-X0sinβ+Y0cosβ

图像的旋转变换用矩阵形式表示如下:

X cosβsinβ0 X0

Y = -sinβcosβ0 Y0

1 0 0 1 1

对图像进行旋转操作时需要输入旋转(该题中旋转角为90度)角度,相关实现代码如下:global w h img;

prompt={'请输入旋转角度:'};

title='Angle Degrees';

ansa=inputdlg(prompt,title);

n=str2num(ansa{1});

i=im2double(img);

pai=3.14;

n=pai*n/180; %?将角度转换为直观的表示方法,便于直接输入度数。

img1=zeros(w,h);

for i=1:(w-1)

for j=1:(h-1)

img1(int32(i*cos(n)+sin(n)*j),int32(j*cos(n)-i*1*sin(n)))=i(i,j);

end

end

img=im2unit8(img1);

imshow(img);

旋转处理如下图所示:

4.3.4对图像进行翻转

1)图像翻转的作用:

实现图像的水平翻转

2)图像翻转原理:

垂直方向:y′=h-y+1

水平方向:x′=w-x+1

其中为h图像高,w为图像宽

3)实现方法:

global xx img w h;

img1=img;

for i=1:w

for j=1:h

img1(i,j,1:3)=img(w-i+1,h-j+1,1:3);

end

end

img=img1;

imshow(img);

其结果如下显示:

对翻转后的图像锐化所显示的图像为:

4.4图像直方图的绘制

1)图像直方图绘制的作用:

实现图像直方图的均衡化。

2)图像直方图均衡原理:

直方图均衡化是将原图像的直方图通过变换函数修正为均匀的直方图,然后按均衡直方图修正原图像。

图像均衡化处理后,图像的直方图是平直的,即各灰度级具有相同的出现频数,那么由于灰度级具有均匀的概率分布,图像看起来就更清晰了。

首先假定连续灰度级的情况,推导直方图均衡化变换公式,令r代表灰度级,P ( r )为概率密度函数。(注:r值已归一化,最大灰度值为1)。

3)实现方法:

global xx img w h;

img1=rgb2gray(img);

img1 = double(img1);

%img1 = uint8(255 * img1 * 0.5 + 0.5);

grey_grade=2^8;

for i=1:grey_grade

grey_friq(i)=0;

end

for y=1:w

for x=1:h

grey_friq(img1(y,x)+1)= grey_friq(img1(y,x)+1)+1;

end

end

bar(1:256,grey_friq);

该图像的直方图显示如下:

5.小结

从通常意义上讲,数字图像处理技术更加普遍、可靠和准确,比起模拟方法,它们也更容易实现,专用的硬件被用于数字图像处理。今天,硬件解决方案被广泛的用于视频处理系统,但商业化的图像处理任务基本上仍以软件形式实现,运行在通用个人电脑上,掌握进一步的图像处理技能对今后的学习和工作生活也都有其积极的影响!

通过这个阶段的努力本图像处理演示系统已基本完成了对文件的打开保存,以及对图像的平移、图像的旋转、翻转、图像的缩放、图像的增强等功能的实现,由于个人水平和时间的有限,此次课程设计还存在许多想法没有很好的实现,扩展功能上也有一定的局限性,希望能在今后的学习中逐渐弥补和改善!

6.源程序

function varargout = graph(varargin)

% GRAPH M- graph.fig

% GRAPH, by itself, creates a new GRAPH or raises the existing

% singleton*.

%

% H = GRAPH returns the handle to a new GRAPH or the handle to

% the existing singleton*.

%

%

GRAPH('CALLBACK',hObject,eventData,ha ndles,...) calls the local

% function named CALLBACK in GRAPH.M with the given input arguments.

%

% GRAPH('Property','Value',...) creates a new GRAPH or raises the

% existing singleton*. Starting from the left, property value pairs are

% applied to the GUI before graph_OpeningFunction gets called. An

% unrecognized property name or invalid value makes property application

% stop. All inputs are passed to graph_OpeningFcn via varargin.

%

% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one % instance to run (singleton)".

%

% See also: GUIDE, GUIDATA, GUIHANDLES

% Edit the above text to modify the response to help graph

% Last Modified by GUIDE v2.5 10-Jul-2014 13:33:34

% Begin initialization code - DO NOT EDIT gui_Singleton = 1;

global w h img xx;

gui_State = struct('gui_Name', m, ...

'gui_Singleton',

gui_Singleton, ...

'gui_OpeningFcn',

@graph_OpeningFcn, ...

'gui_OutputFcn',

@graph_OutputFcn, ...

'gui_LayoutFcn',

[] , ...

'gui_Callback', []); if nargin & isstr(varargin{1})

gui_State.gui_Callback = str2func(varargin{1});

end

if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); Else gui_mainfcn(gui_State, varargin{:});

% End initialization code - DO NOT EDIT

% --- Executes just before graph is made visible.

function graph_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn.

% hObject handle to figure

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

% varargin command line arguments to graph (see V ARARGIN)

% Choose default command line output for graph

handles.output = hObject;

% Update handles structure

guidata(hObject, handles);

% UIWAIT makes graph wait for user response (see UIRESUME)

% uiwait(handles.figure1);

% --- Outputs from this function are returned to the command line. function varargout = graph_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see V ARARGOUT); % hObject handle to figure

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

% Get default command line output from handles structure

varargout{1} = handles.output;

% --------------------------------------------------------------------

function (hObject, eventdata, handles)

% hObject handle to file (see GCBO)

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

% --------------------------------------------------------------------

function open(hObject, eventdata, handles)

% hObject handle to openFile (see GCBO)

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

{'*.bmp;*.jpg;*.gif;','MATLAB Files (*.bmp,*.jpg,*.gif)';

'*.bmp', '位图文件(*.bmp)'; ...

'*.jpg','Figures (*.jpg)'; ...

'*.gif','MAT-files (*.gif)'; ...

'*.*', 'All Files (*.*)'}, ...

'Open a file');

global w h img xx;

L=length();

if < 5

return

V=strcat(pathname,); xx=imfinfo(V);

handles.my_data1=V; guidata(hObject,handles);

axes(handles.axes1); img = imread(V);

[w,h,l]=size(img); imshow(img);

% --------------------------------------------------------------------

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 GUIDA TA) [new]=uiputfile( ...

{'*.bmp;*.jpg;*.gif;','MATLAB Files (*.bmp,*.jpg,*.gif)';

'*.bmp', '位图文件(*.bmp)'; ...

'*.jpg','Figures (*.jpg)'; ...

'*.gif','MAT-files (*.gif)'; ...

'*.*', 'All Files (*.*)'}, ...

'Save a file');

global img;

imwrite(img,strcat(newpath,newfile));

% --------------------------------------------------------------------

function strength_Callback(hObject, eventdata, handles)

% hObject handle to strength (see GCBO)

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

function smooth_Callback(hObject, eventdata, handles)

% hObject handle to smooth (see GCBO)

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

global w h img;

img2 = img;

for i=2:w-1

for j=2:h-1

for m=1:3

for n=1:3

hhh((m-1)*3+n)=img(i+m-2,j+n-2);

end

end

for p=1:9

for q=p+1:9

if(hhh(p)>hhh(q))

temp=hhh(p);

hhh(p)=hhh(q);

hhh(q)=temp;

end

end

end

img2(i,j)=hhh(5);

end

end

img = img2; imshow(img);

% --------------------------------------------------------------------

function sharping_Callback(hObject, eventdata, handles)

% hObject handle to sharping (see GCBO)

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

global w h img;

img1=im2double(img); a=img1(:,:,1);

b=img1(:,:,2); c=img1(:,:,3); img2=img1; for i=2:w-1

for j=2:h-1

img2(i,j)=abs(4*img1(i,j)-img1(i-1,j)-img1(i+1,j)-img1(i,j-1)-img1(i,j+1));

end

end

img = im2uint8(img2);

imshow(img);

% --------------------------------------------------------------------

function trans_Callback(hObject, eventdata, handles)

% hObject handle to trans (see GCBO)

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

% handles structure with handles and user data (see GUIDA TA)

% --------------------------------------------------------------------

function translation_Callback(hObject, eventdata, handles)

% hObject handle to translation (see GCBO)

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

% handles structure with handles and user data (see GUIDA TA)

global w h img;

prompt={'请输入横向平移量?'}; title='';

ansa=inputdlg(prompt,title);

x1=str2num(ansa{1}); handles.my_data4=x1; prompt={'请输入纵向平移量'}; title='';

ansa=inputdlg(prompt,title);

y1=str2num(ansa{1}); handles.my_data5=y1; guidata(hObject,handles)

%上段代码中的x1,y1即为需要输入的横向平移量与纵向平移量

for x=1:w for y=1:h

PosSourceX=uint16(x+x1);

PosSourceY=uint16(y+y1);

if((PosSourceX<1) || (PosSourceX>w) || (PosSourceY<1) || (PosSourceY>h)) if (xx.BitDepth==24) Transfor(x, y,1:3) = uint8(1);

else Transfor(x, y) = uint8(1);

end

else if (xx.BitDepth==24)

img(x,y,1:3) = BmpImage(PosSourceX,PosSourceY,1:3);

else img(x,y) = BmpImage(PosSourceX,PosSourceY);

end

end

end

end

imshow(img)

%(PosSourceX和PosSourceY是平移后坐标点,Transfor为平移后图片) % --------------------------------------------------------------------

function zoom_Callback(hObject, eventdata, handles)

% hObject handle to zoom (see GCBO)

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

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

prompt={'请输入X向缩放倍数:'}; title='';

ansa=inputdlg(prompt,title);

sx=str2num(ansa{1});

handles.my_data3=sx; guidata(hObject,handles)

m=xx.Width;

n=xx.Height;

m1=m*sx;n1=n*sy; %设置Y向缩放倍数sy. for h=1:m1;

for w=1:n1;

b(h,w)=i(round(h/sx),round(w/sy));%round 取最邻近整数

end

end

% --------------------------------------------------------------------

function revolve_Callback(hObject, eventdata, handles)

% hObject handle to revolve (see GCBO)

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

% handles structure with handles and user data (see GUIDA TA)

global w h img;

prompt={'请输入旋转角度:'};

title='Angle Degrees';

ansa=inputdlg(prompt,title);

n=str2num(ansa{1});

i=im2double(img);

pai=3.14;

n=pai*n/180; %?将角度转换为直观的表示方法,便于直接输入度数。img1=zeros(w,h);

for i=1:(w-1)

for j=1:(h-1)

img1(int32(i*cos(n)+sin(n)*j),int32(j*cos(n)-i*1*sin(n)))=i(i,j);

end

end

img=im2unit8(img1);

imshow(img);

% --------------------------------------------------------------------

function overturn_Callback(hObject, eventdata, handles)

% hObject handle to overturn (see GCBO)

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

% handles structure with handles and user data (see GUIDA TA)

global xx img w h;

for i=1:w

for j=1:h

img1(i,j,1:3)=img(w-i+1,h-j+1,1:3);

end

end

img=img1;

imshow(img);

% --------------------------------------------------------------------

function histogram_Callback(hObject, eventdata, handles)

% hObject handle to histogram (see GCBO)

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

global xx img w h;

img1=rgb2gray(img);

img1 = double(img1);

%img1 = uint8(255 * img1 * 0.5 + 0.5); grey_grade=2^8; for i=1:grey_grade

grey_friq(i)=0; end

for y=1:w

for x=1:h

grey_friq(img1(y,x)+1)= grey_friq(img1(y,x)+1)+1;

end

end

bar(1:256,grey_friq);

% --------------------------------------------------------------------

function help_Callback(hObject, eventdata, handles)

% hObject handle to help (see GCBO)

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

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

数字图像处理 课程设计报告 姓名: 学号: 班级: 设计题目:图像处理 教师:赵哲老师 提交日期: 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) 设计数字水印的软件界面。 .页脚.

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

课程设计报告书课程名称:数字图像处理 题目:数字图像处理的傅里叶变换 学生姓名: 专业:计算机科学与技术 班别:计科本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)图像数据的变换、编码和压缩,以便于图像的存储和传输。不管是 何种目的的图像处理,都需要由计算机和图像专用设备组成的图像处理系统对图像数据进行输入、加工和输出。 数字图像处理主要研究的内容有以下几个方面: 图像变换由于图像阵列很大,直接在空间域中进行处理,涉及计算量很大。因此,往往采用各种图像变换的方法,如傅里叶变换、沃尔什变换、离散余弦变换等间接处理技术,将空间域的处理转换为变换域处理,不仅可减少计算量,而且可获得更有效的处理。目前新兴研究的小波变换在时域和频域中都具有良好的局部化特性,它在图像处理中也有着广泛而有效的应用。 图像编码压缩图像编码压缩技术可减少描述图像的数据量,以便节省图像传输、处理时间和减少所占用的存储器容量。压缩可以在不失真的前提下获得,也可以在允许的失真条件下进行。编码是压缩技术中最重要的方法,它在图像处理技术中是发展最早且比较成熟的技术。

图像处理课程设计

《图像处理技术应用实践》课程设计题目图像增强算法综合应用 学生姓名韩帅_______ 学号 院系计算机与软件学院 专业计算机科学与技术 范春年____ 噪声,不同的去噪方法效果不同,因此应该采用不同的去噪方法以达到最好的去噪效果。? (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('噪声');

数字图像处理课程设计题目

PROJECT 03-01 Image Enhancement Using Intensity Transformations The focus of this project is to experiment with intensity transformations to enhance an image. Download Fig. 3.8(a) and enhance it using (a) The log transformation of Eq. (3.2-2). (b) A power-law transformation of the form shown in Eq. (3.2-3). In (a) the only free parameter is c, but in (b) there are two parameters, c and r for which values have to be selected. As in most enhancement tasks, experimentation is a must. The objective of this project is to obtain the best visual enhancement possible with the methods in (a) and (b). Once (according to your judgment) you have the best visual result for each transformation, explain the reasons for the major differences between them. 使用强度的转变实现图像增强 这个项目的焦点就是通过强度转换实验来增强图像。 下载图片3.8(a),并且对它实现增强。对数变换的公式如3.2.2所示,幂次变换的基本形式如3.2.3所示。 在(a)中,唯一的自由参数是c,但是在(b)中有两个参数,c以及一个需要被选定值的参数r,在大多数关于增强的任务中,实验是必须的。这个项目的目的是为了用在(a)和(b)中的方法来获得最佳可视化增强的可能性,一旦(根据你的判断)你对每一个变换都拥有了最好的视觉效果,解释一下它们之间产生主要差别的原因。 PROJECT 03-02 [Multiple Uses] Histogram Equalization (a) Write a computer program for computing the histogram of an image. (b) Implement the histogram equalization technique discussed in Section 3.3.1. (c) Download Fig. 3.8(a) and perform histogram equalization on it. As a minimum, your report should include the original image, a plot of its histogram, a plot of the histogram-equalization transformation function, the enhanced image, and a plot of its histogram. Use this information to explain why the resulting image was enhanced as it was. 直方图均衡化 (a)写一个程序来计算图像的直方图 (b)实现直方图均衡化方法在参考3.3.1 (c)下载图38(a)并实现其直方图均衡。 你的实验报告中至少需要包括原图,绘制其直方图,增强后的图形,并绘制它的直方图。用以上这些信息解释为什么图像的增强结果是这样的。 PROJECT 03-03 [Multiple Uses]

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

上海理工大学 计算机工程学院 实验报告 实验名称红细胞数目统计课程名称数字图像处理 姓名王磊学号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图像增强 图像增强是数字图像处理的基本内容之一,其目的是根据应用需要突出图像中的某些“有用”的信息,削弱或去除不需要的信息,以达到扩大图像中不同物体特征之间的差别,使处理后的图像对于特定应用而言,比原始图像更合适,或者为图像的信息提取以及其他图像分析技术奠定了基础。一般情况下,经过增强处理后,图像的视觉效果会发生改变,这种变化意味着图像的视觉效果得到了改善,某些特定信息得到了增强。

数字图像处理课程设计 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研究目的及意义

图像处理课程设计资料

课程设计报告 课程名称数字图像处理 课题名称图像特征提取软件设计 专业 _______________________________________ 班级 _______________________________________ 学号 _______________________________________ 姓名 _______________________________________ 指导教师 ____________________________________

2011年1月20 日

湖南工程学院 课程设计任务书 课程名称数字图像处理 课题图像特征提取软件设计 专业班级计算机0781 学生姓名___________________________ 学号_____________________________ 指导老师刘长松_____________ 审批_______________________________ 任务书下达日期2011年1月5日 任务完成日期2011年1月20日

一、设计内容与设计要求 1.设计内容 (1)图像分割、边缘检测、边界跟踪、模板匹配、几何形状特征等图像特征提取方法集成为一个完整的图像特征提取软件。 (2)针对一幅人脸图像,利用所设计的软件实现人脸特征的提取(瞳孔中心、鼻孔、鼻尖、嘴角等特征点的抽取,以及嘴形轮廓、头部轮廓的提取等); 2.设计要求 1)总体要求 (1)充分认识课程设计的重要性,认真做好准备工作,尤其是对编程软件的使用有基本的认识。 (2)虚心接受老师的指导,充分发挥主观能动性。结合课题,独立思考,努力钻研,勤于实践,勇于创新。 (3)独立按时完成规定的工作任务,不得弄虚作假,不准抄袭他人内容。 2)实施要求 (1)理解各种图像处理方法确切意义。 (2)独立进行方案的制定,系统结构设计要合理。 (3)在程序开发时,则必须清楚主要实现函数的目的和作用,需要在程序书写时说明做适当的注释。在写课设报告时,必须要将主要函数的功能和参数做详细的说明。 (4)通过多幅不同形式的图像来检测该系统的稳定性和正确性。 3)课程设计报告的内容及要求 在完成课题验收后,学生应在规定的时间内完成课程设计报告一份(不少于2000 字)。 、进度安排 第19 周星期一8 时:00分一-12 时:00分 星期二8 时:00分一-12 时:00分 星期三8 时:30分- -12 时:00分 星期四14 时 : 00 分一—18 时: 00分 星期五14 时 : 00 分一—18 时: 00分 第20 周星期一8 时:00分——-12 时:00分 附:课程设计报告装订顺序:封面、任务书、目录、正文、评分表、附件(A4大小的图纸及程序清单)。 正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。 正文的内容:一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能的实现(至少要 有一个主要模块的流程图);四、程序调试;五、总结;六、附件(所有程序的原代码,要求对程序写出必要的注释)正文总字数要求在5000字以上(不含程序原代码)。

相关文档
最新文档