数字图像处理 降噪滤波 大作业

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

昆明理工大学信息工程与自动化学院学生实验报告

(2015—2016学年第一学期)

课程名称:图形图像基础程序设计开课实验室: 2015年 12月 1 日

一、实验目的及内容

目的:掌握和熟悉Matlab编程环境及语言;掌握图像降噪算法和用途。

内容:

在课程教学和查阅相关文献资料的基础上,选择下面一个数字图像处理技术专题,实现相应算法进行仿真实验,并完成大作业报告。专题如下:

(1)图像增强处理技术;

(2)图像降噪处理技术。

2、题目分析

利用matlab的GUI程序设计一个简单实用的图像处理程序。该程序应具备图像处理的常用功能,以满足用户的使用。现设计程序有以下基本功能:

1)图像的读取和保存。

2)通过自己输入数值,实现图像的旋转。

3)图像直方图统计和直方图均衡,要求显示直方图统计,比较直方图均衡后的效果。

4)能对图像加入各种噪声,

5)并通过几种滤波算法实现去噪并显示结果。

6)将图像转化成灰度图像。

3.总体设计

软件的总体设计界面布局如上图所示

分为显示区域与操作区域。

上边为显示区域:显示载入原图,以及通过处理后的图像。操作区域:通过功能键实现对图像的各种处理。

设计完成后运行的软件界面如下:

4、具体设计

现介绍各个功能模块的功能与实现。

4.1图像的读取和保存:

(1)利用matlab中“ uigetfile”、“imread”“imshow”实现图像文件的读取与显示:

实现代码:

function pushbutton2_Callback(hObject, eventdata, handles)

% hObject handle to pushbutton2 (see GCBO)

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

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

[filename,pathname]=uigetfile({'*.jpg';'*.bmp';'*.tif';'*.*'},'载入图像');

if isequal(filename,0)|isequal(pathname,0)

errordlg('没有选中文件','出错');

return;

else

file=[pathname,filename];

global S %设置一个全局变量S,保存初始图像路径,以便之后的还原操作

S=file;

x=imread(file);

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

axes(handles.axes1);

imshow(x);

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

axes(handles.axes2);

imshow(x);

handles.img=x;

guidata(hObject,handles);

end

% --- Executes on button press in pushbutton4.

function pushbutton4_Callback(hObject, eventdata, handles)

% hObject handle to pushbutton4 (see GCBO)

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

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

[sfilename ,sfilepath]=uiputfile({'*.jpg';'*.bmp';'*.tif';'*.*'},'保存图像文件','untitled.jpg');

if ~isequal([sfilename,sfilepath],[0,0])

sfilefullname=[sfilepath ,sfilename];

imwrite(handles.img,sfilefullname);

else

msgbox('你按了取消键','保存失败');

end

(2)图像保存。

利用uiputfile和imwrite函数实现图像文件的保存。

实现代码:

function pushbutton4_Callback(hObject, eventdata, handles)

% hObject handle to pushbutton4 (see GCBO)

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

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

[sfilename ,sfilepath]=uiputfile({'*.jpg';'*.bmp';'*.tif';'*.*'},'保存图像文件','untitled.jpg');

if ~isequal([sfilename,sfilepath],[0,0])

sfilefullname=[sfilepath ,sfilename];

imwrite(handles.img,sfilefullname);

else

msgbox('你按了取消键','保存失败');

end

3)程序的退出。

相关文档
最新文档