数字图像处理软件开发设计报告.docx
(完整word版)数字图像处理 实验报告(完整版)
数字图像处理实验一 MATLAB数字图像处理初步一、显示图像1.利用imread( )函数读取一幅图像,假设其名为lily.tif,存入一个数组中;2.利用whos 命令提取该读入图像flower.tif的基本信息;3.利用imshow()函数来显示这幅图像;实验结果如下图:源代码:>>I=imread('lily.tif')>> whos I>> imshow(I)二、压缩图像4.利用imfinfo函数来获取图像文件的压缩,颜色等等其他的详细信息;5.利用imwrite()函数来压缩这幅图象,将其保存为一幅压缩了像素的jpg文件,设为lily.jpg;语法:imwrite(原图像,新图像,‘quality’,q), q取0-100。
6.同样利用imwrite()函数将最初读入的tif图象另存为一幅bmp图像,设为flily.bmp。
7.用imread()读入图像Sunset.jpg和Winter.jpg;8.用imfinfo()获取图像Sunset.jpg和Winter.jpg的大小;9.用figure,imshow()分别将Sunset.jpg和Winter.jpg显示出来,观察两幅图像的质量。
其中9的实验结果如下图:源代码:4~6(接上面两个) >>I=imread('lily.tif')>> imfinfo 'lily.tif';>> imwrite(I,'lily.jpg','quality',20);>> imwrite(I,'lily.bmp');7~9 >>I=imread('Sunset.jpg');>>J=imread('Winter.jpg')>>imfinfo 'Sunset.jpg'>> imfinfo 'Winter.jpg'>>figure(1),imshow('Sunset.jpg')>>figure(2),imshow('Winter.jpg')三、二值化图像10.用im2bw将一幅灰度图像转化为二值图像,并且用imshow显示出来观察图像的特征。
数字图像处理实验报告Word版
《数字图像处理上机》实验报告班级:电信1101姓名:XXXXXX学号:0703110107数字图像处理上机实验1、实验目的了解matlab软件/语言,学会使用matlab的图像处理工具箱(Image Processing Toolbox),使学生初步具备使用该软件处理图像信息的能力,并能够利用该软件完成本课程规定的其他实验和作业。
熟悉常用的图像文件格式与格式转换;熟悉图像矩阵的显示方法(灰度、索引、黑白、彩色);熟悉图像矩阵的格式转换。
,学会使用MatLab对图像作滤波处理,使学生有机会掌握滤波算法,体会滤波效果。
了解几种不同滤波方式的使用和使用的场合,培养处理实际图像的能力.2、实验要求学生应当基本掌握matlab的操作,掌握matlab图像处理工具箱中最常用的函数用法。
练习图像读写命令imread和imwrite并进行图像文件格式之间的转换。
学生应当完成对于给定图像+噪声,使用平均滤波器、中值滤波器对不同强度的高斯噪声和椒盐噪声,进行滤波处理;能够正确地评价处理的结果;能够从理论上作出合理的解释。
3、实验内容及步骤1、图像的显示与格式转换(1)学习matlab的基本操作;(2)使用imread函数读入图像;(3)使用figure函数创建窗口;(4)使用image或imshow函数显示图像;(5)使用colorbar函数在图像的右侧显示图像的亮度条。
2、图像的滤波(1) 考察平均滤波器对高斯噪声污染的图象去噪效果;(2) 考察中值滤波器对高斯噪声污染的图象去噪效果;(3) 考察平均滤波器对椒盐噪声污染的图象去噪效果;(4) 考察中值滤波器对椒盐噪声污染的图象去噪效果。
(5) 考察滤波器模板大小对平均滤波器滤波效果的影响;(6) 考察滤波器模板大小对中值滤波器滤波效果的影响;3、图像的频域变换在Matlab workspace中生成一幅大小为256×256像素的8位灰度图, 背景为黑色,中心有一个宽80像素高40像素的白色矩形。
数字图像处理报告
《数字图象处理》课程项目实施报告题目: 人脸面部自动定位与分割 __________组号: _______________________________________任课教师: _________________________________组长: ________________成员:________________成员:________________成员:________________联系方式:__________________________二O—五年一月十四日星期三目录目录 (I)图目录................................................................ I II —项目介绍 (1)1.1概述 (1)1.2丁力自匕•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• 11.3实施要求 (1)二主要设计思想 (2)2」前期准备 (2)2.2人脸肤色区域检测 (2)2.2.1方法一 (2)2.2.2方法二 (2)2.3非人脸区域判别 (3)2.3.1判别规则 (3)2.4脖子区域判别 (3)2.5五官识别-积分投影 (4)三主要实施过程 (4)3.1单人 (4)3.2多人 (7)四结果分析 (8)4」肤色检测 (8)4.1.1方法一 (8)4.1.2方法二 (8)4.1.3肤色检测阶段总结 (9)4.2去除非人脸区域 (9)4.2.1单脸 (9)4.2.2多脸 (9)4.3五官分割 (9)4.3.1眼 (9)4.3.2鼻、嘴 (10)参考文献 (11)参考代码 (12)4.4主程序 (12)4.5同态滤波 (17)4.6肤色检测-简易高斯模型 (19)4.7切割非脸区域 (21)4.8条件判断 (23)图目录Figure 1 (9)Figure 2 (9)Figure 3 (10)Figure 4 (10)Figure 5 (11)Figure 6 (12)Figure 7 (14)项目介绍图像分割是图像处理的主要LI标,本项U综合利用图像采集、图像增强、彩色图像处理、图像分割等知识,根据人脸肤色检测及脸部五官形状,设讣实现人脸照片中的人脸面部检测与五官分割。
数字图像处理实验报告(全部)
实验1直方图一.实验目的1.熟悉matlab图像处理工具箱及直方图函数的使用;2.理解和掌握直方图原理和方法;二.实验设备:1.PC机一台;2.软件matlab。
三.程序设计在matlab环境中,程序首先读取图像,然后调用直方图函数,设置相关参数,再输出处理后的图像。
I=imread('cameraman.tif');%读取图像subplot(1,2,1),imshow(I) %输出图像title('原始图像') %在原始图像中加标题subplot(1,2,2),imhist(I) %输出原图直方图title('原始图像直方图') %在原图直方图上加标题四.实验步骤1. 启动matlab双击桌面matlab图标启动matlab环境;2. 在matlab命令窗口中输入相应程序。
书写程序时,首先读取图像,一般调用matlab自带的图像,如:cameraman图像;再调用相应的直方图函数,设置参数;最后输出处理后的图像;3.浏览源程序并理解含义;4.运行,观察显示结果;5.结束运行,退出;五.实验结果:观察图像matlab环境下的直方图分布。
(a)原始图像 (b)原始图像直方图六.实验报告要求1、给出实验原理过程及实现代码:I=imread('coins.png');%读取图像subplot(1,2,1),imshow(I) %输出图像title('原始图像') %在原始图像中加标题subplot(1,2,2),imhist(I) %输出原图直方图title('原始图像直方图') %在原图直方图上加标题2、输入一幅灰度图像,给出其灰度直方图结果,并进行灰度直方图分布原理分析。
实验2 均值滤波一.实验目的1.熟悉matlab图像处理工具箱及均值滤波函数的使用;2.理解和掌握3*3均值滤波的方法和应用;二.实验设备:1.PC机一台;2.软件matlab三.程序设计在matlab环境中,程序首先读取图像,然后调用图像增强(均值滤波)函数,设置相关参数,再输出处理后的图像。
《数字图像处理》实验报告
《数字图像处理》实验报告数字图像处理是一门将图像进行数字化处理的学科,它通过计算机算法和技术手段对图像进行分析、增强、压缩和重建等操作。
在本次实验中,我们学习了数字图像处理的基本概念和常用算法,并通过实验来探索其应用和效果。
首先,我们进行了图像的读取和显示实验。
通过使用Python中的OpenCV库,我们能够轻松地读取图像文件,并将其显示在屏幕上。
这为我们后续的实验奠定了基础。
同时,我们还学习了图像的像素表示方法,了解了图像由像素点组成的原理。
这使我们能够更好地理解后续实验中的算法和操作。
接下来,我们进行了图像的灰度化实验。
灰度化是将彩色图像转换为灰度图像的过程。
在实验中,我们使用了不同的算法来实现灰度化操作,包括平均值法、最大值法和加权平均法等。
通过比较不同算法得到的灰度图像,我们发现不同算法对图像的处理效果有所差异,这使我们深入理解了灰度化的原理和应用。
随后,我们进行了图像的直方图均衡化实验。
直方图均衡化是一种用于增强图像对比度的方法。
在实验中,我们使用了直方图均衡化算法来对图像进行处理,并观察了处理前后的效果变化。
通过实验,我们发现直方图均衡化能够显著提高图像的对比度,使图像更加清晰和鲜明。
在进一步探索图像处理技术的过程中,我们进行了图像的滤波实验。
滤波是一种常用的图像处理操作,它通过对图像进行卷积操作来实现。
在实验中,我们学习了不同类型的滤波器,包括均值滤波器、高斯滤波器和中值滤波器等。
通过比较不同滤波器对图像的处理效果,我们发现每种滤波器都有其适用的场景和效果。
此外,我们还进行了图像的边缘检测实验。
边缘检测是一种用于提取图像边缘信息的方法。
在实验中,我们学习了不同的边缘检测算法,包括Sobel算子、Canny算子和Laplacian算子等。
通过比较不同算法对图像的处理效果,我们发现每种算法都有其独特的特点和应用。
最后,我们进行了图像的压缩实验。
图像压缩是一种将图像数据进行压缩以减小文件大小的方法。
数字图像处理课程设计报告
数字图像处理设计报告【设计目的】配合《数字图像处理》课程的教学,使学生能巩固和加深对数字图像处理基础理论和基本知识的理解;掌握使用图像处理软件处理图像基本思想和方法;提高学生对图像处理方面的实际问题的应对能力并将所学知识在实践中巩固。
【设计要求】1.按照题目的要求,简要介绍算法,并对算法进行分析;2.用MATLAB完成算法代码(不能利用MATLAB自身的图像处理函数完成具体算法,读写和显示可以利用MATLAB函数),注释要清晰;3.给出代码运行的结果,并对结论进行总结;4.每人可选一个给出的题目或自己感兴趣的题目,按照上面要求上交报告,内容不得少于5页A4纸。
【所选题目】用直方图均衡化一幅8位的灰度图像【设计环境】MATLAB7.1,所选图片为彩色动画图片,大小为1024*666*24b【算法介绍和分析】1、算法概述:直方图均衡化是图像处理领域中利用图像直方图对对比度进行调整的方法。
直方图均衡化处理的“中心思想”是把原始图像的灰度直方图从比较集中的某个灰度区间变成在全部灰度范围内的均匀分布。
直方图均衡化就是对图像进行非线性拉伸,重新分配图像像素值,使一定灰度范围内的像素数量大致相同。
直方图均衡化就是把给定图像的直方图分布改变成“均匀”分布直方图分布。
2、算法分析:直方图均衡化的基本思想是把原始图的直方图变换为均匀分布的形式,这样就增加了象素灰度值的动态范围从而可达到增强图像整体对比度的效果。
设原始图像在(x,y)处的灰度为f,而改变后的图像为g,则对图像增强的方法可表述为将在(x,y)处的灰度f映射为g。
在灰度直方图均衡化处理中对图像的映射函数可定义为:g = EQ (f),这个映射函数EQ(f)必须满足两个条件(其中L为图像的灰度级数):(1)EQ(f)在0≤f≤L-1范围内是一个单值单增函数。
这是为了保证增强处理没有打乱原始图像的灰度排列次序,原图各灰度级在变换后仍保持从黑到白(或从白到黑)的排列。
《数字图像处理》课程设计报告
1.课程设计目的1、提高分析问题、解决问题的能力,进一步巩固数字图像处理系统中的基本原理与方法。
2、熟悉掌握一门计算机语言,可以进行数字图像的应用处理的开发设计。
2.课程设计内容及实现、二维快速傅立叶变换:本项目的重点是:这个项目的目的是开发一个2-D FFT程序“包”,将用于在其他几个项目。
您的实现必须有能力:(a)乘以(-1),x + y的中心变换输入图像进行滤波。
(b) 一个真正的函数相乘所得到的(复杂的)的阵列(在这个意义上的实系数乘以变换的实部和虚部)。
回想一下,对相应的元件上完成两幅图像的乘法。
(c) 计算傅立叶逆变换。
(d) 结果乘以(-1)x + y的实部。
(e) 计算频谱。
基本上,这个项目实现了图。
如果您正在使用MATLAB,那么您的傅立叶变换程序将不会受到限制,其大小是2的整数次幂的图像。
如果要实现自己的计划,那么您所使用的FFT 例程可能被限制到2的整数次幂。
在这种情况下,你可能需要放大或缩小图像到适当的大小,使用你的程序开发项目02-04逼近:为了简化这个和以下的工程(除项目04-05),您可以忽略图像填充(4.6.3节)。
虽然你的结果不会完全正确,将获得显着的简化,不仅在图像的大小,而且在需要裁剪的最终结果。
由这种近似的原则将不会受到影响结果如下:主要代码f=imread('(a).jpg');H=imread('(a).jpg');subplot(3,2,1);imshow(f);title('(a)原图像');[M1,N1]=size(f);f=im2double(f);[M2,N2]=size(H);H=im2double(H); %把灰度图像I1的数据类型转换成转换成双精度浮点类型for x=1:M1for y=1:N1f(x,y)=(-1)^(x+y)*f(x,y); %用(-1)^(x+y)乘以输入图像,来实现中心化变换endendF=fft2(f); %使用函数fft2可计算傅立叶变换subplot(3,2,3);imshow(F);title('(b)傅立叶变换的图像');if(M2==1)&&(N2==1)G=F(x,y)*H(x,y);elseif((M1==M2)&&(N1==N2))for x=1:M1for y=1:N1G(x,y)=F(x,y)*H(x,y);endendelseerror('输入图像有误','ERROR');end %通过两个图像的乘法程序,实现对相应元素的相乘g=ifft2(G);subplot(3,2,4);imshow(g);title('(c)傅立叶逆变换的图像');for x=1:M1for y=1:N1g(x,y)=(-1)^(x+y)*g(x,y);endendg=real(g);S=log(1+abs(F)); %计算傅立叶幅度谱并做对数变换subplot(3,2,5);plot(S); %二维图像显示幅度谱title('(d)二维图像显示幅度谱');Q=angle(F); %计算傅立叶变换相位谱subplot(3,2,6);plot(Q);title('(e)二维图像显示相位谱'); %二维图像显示相位谱结果截图图1 傅里叶变换及频谱图结果分析:图1中(a)是原始灰度图像,对原图进行傅里叶变换,用(-1)^(x+y)乘以输入图像,来实现中心化变换得到(b),(c)为傅里叶变换的逆变换得到的图像。
数字图像处理课程设计报告
数字图像处理课程设计报告姓名:宋东洋、祁飞、冯登科学号:20137750342、20137750336、20137750309班级:软件开发.NET 3班设计题目:手写体数字识别教师:庞海波老师提交日期:2015年12月25日一、设计内容:主题:《手写体数字识别》详细说明:读入手写体数字图片,选择要识别的数字然后通过寻找数字边界将图像裁剪的边缘,然后生成裁剪后图像的二进制图像,并将其转换成5﹡7的图像,然后进行特征提取,运行Simulink模型识别数字。
二、现实意义:手写体数字的识别有着非常广泛的应用(如:邮政编码、统计报表、财务报表、银行票据等等)。
三、涉及知识内容:1、边界查找2、二值化3、Simulink模型四、实例分析及截图效果:(1)代码显示:1、程序中定义图像变量说明(1)S--------------------------------------------------------------原图变量; (2)img_crop----------------------------------------------------选择的图象; (3)imgGray-----------------------------------------------------灰度图像变量(4)BW-----------------------------------------------------------二值化图像;(5)charvec-----------------------------------------------------5*7图像变量;2、实现代码:Index.mfunction varargout = charGUI(varargin)% Begin initialization code - DO NOT EDITgui_Singleton = 1;gui_State = struct('gui_Name', mfilename, ...'gui_Singleton', gui_Singleton, ...'gui_OpeningFcn', @charGUI_OpeningFcn, ...'gui_OutputFcn', @charGUI_OutputFcn, ...'gui_LayoutFcn', [] , ...'gui_Callback', []);if nargin && ischar(varargin{1})gui_State.gui_Callback = str2func(varargin{1});endif nargout[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); elsegui_mainfcn(gui_State, varargin{:});end% End initialization code - DO NOT EDIT% --- Executes just before charGUI is made visible.function charGUI_OpeningFcn(hObject, eventdata, handles, varargin) load data;assignin('base','net',net);handles.output = hObject;guidata(hObject, handles);% --- Outputs from this function are returned to the command line. function varargout = charGUI_OutputFcn(hObject, eventdata, handles) varargout{1} = handles.output;% --- Executes on button press in pbLoad.function pbLoad_Callback(hObject, eventdata, handles)[filename, pathname] = uigetfile({'*.bmp';'*.jpg';'*.gif';'*.*'}, 'Pick an Image File');S = imread([pathname,filename]);axes(handles.axes1);imshow(S);handles.S = S;guidata(hObject, handles);% --- Executes on button press in pbSelect.function pbSelect_Callback(hObject, eventdata, handles)S = handles.S;axes(handles.axes1);img_crop = imcrop(S);axes(handles.axes2);imshow(img_crop);handles.img_crop = img_crop;guidata(hObject, handles);% --- Executes on button press in pbPreprocess.function pbPreprocess_Callback(hObject, eventdata, handles) img_crop = handles.img_crop;imgGray = rgb2gray(img_crop);bw = im2bw(img_crop,graythresh(imgGray));axes(handles.axes3);imshow(bw);bw2 = edu_imgcrop(bw);axes(handles.axes4);imshow(bw2);handles.bw2 = bw2;guidata(hObject, handles);% --- Executes on button press in pbExtract.function pbExtract_Callback(hObject, eventdata, handles) bw2 = handles.bw2;charvec = edu_imgresize(bw2);axes(handles.axes5);plotchar(charvec);handles.charvec = charvec;guidata(hObject, handles);% --- Executes on button press in pbRecognize.function pbRecognize_Callback(hObject, eventdata, handles) charvec = handles.charvec;selected_net = get(handles.editNN,'string');selected_net = evalin('base',selected_net);result = sim(selected_net,charvec);[val, num] = max(result);set(handles.editResult, 'string',mod(num,10));% --- Executes on button press in pbNN.function pbNN_Callback(hObject, eventdata, handles)function editNN_Callback(hObject, eventdata, handles)% --- Executes during object creation, after setting all properties. function editNN_CreateFcn(hObject, eventdata, handles)if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunction editResult_Callback(hObject, eventdata, handles)% --- Executes during object creation, after setting all properties. function editResult_CreateFcn(hObject, eventdata, handles)if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endedu_imgcrop.mfunction bw2 = edu_imgcrop(bw)% 求图像的边界[y2temp x2temp] = size(bw);x1=1;y1=1;x2=x2temp;y2=y2temp;% 寻找左侧空白空间cntB=1;while (sum(bw(:,cntB))==y2temp) x1=x1+1;cntB=cntB+1;end% 寻找右侧空白空间cntB=1;while (sum(bw(cntB,:))==x2temp) y1=y1+1;cntB=cntB+1;end% 寻找上边空白空间cntB=x2temp;while (sum(bw(:,cntB))==y2temp)x2=x2-1;cntB=cntB-1;end% 寻找下边空白空间cntB=y2temp;while (sum(bw(cntB,:))==x2temp)y2=y2-1;cntB=cntB-1;end% 将图像裁剪到边缘bw2=imcrop(bw,[x1,y1,(x2-x1),(y2-y1)]);edu_imgresize.mfunction lett = edu_imgresize(bw2)% 此功能将采取裁剪的二进制图像,并将其改为5×7 % 单个向量中的特征表示。
数字图像处理实验报告
《数字图像处理》实验报告专业:软件工程*名:***学号: S********* 指导老师:***2019年 12 月 28 日信息学部软件学院目录实验一、BMP文件的读写 (1)1 实验目的与实验内容 (1)2 实验原理 (1)3 实验关键代码 (1)4 实验运行结果 (3)5 总结 (4)实验二、图像缩放 (4)1 实验目的及内容 (4)2 实验原理 (5)3 实验关键代码和运行结果 (6)4 结果分析 (8)实验三、直方图均衡 (9)1 实验目的及内容 (9)2 实验原理 (9)3 实验关键代码和实验结果 (10)4 思考题 (11)5结果分析 (12)实验四、图像滤波 (12)1 实验目的及内容 (12)2 图像滤波的原理 (12)3 实验关键代码及结果 (13)实验五、图像的灰度映射 (17)1 实验目的及内容 (17)2 实验关键代码及结果 (17)3 不同参数的变换结果 (20)附录一 (17)实验要求:用 c/c++语言编程实现以下功能实验环境:Windows10开发工具:CodeBlocks实验一、BMP文件的读写1 实验目的与实验内容1.1灰度 BMP 图像的读写:(1) 读入 lena.bmp 文件;(2) 通过文件内容得出文件大小,位图数据起始字节,图像长、宽以及每像素的位数等信息;(3) 提取出原图像中的位图数据,另存为 lena.raw, 并通过 photoshop 打开该文件,查看所读取的数据。
(4)仅取原始图像左上角 1/4 的数据,另存一个 lenas.bmp 图像,在photoshop 中打开查看效果。
1.2 彩色 BMP 图像读写(1) 读入文件 lena_C.bmp 文件;(2) 通过文件内容得出文件大小,位图数据起始字节,图像长、宽以及每像素的位数等信息;(3) 提取出原图像中的位图数据,另存为 lena_C.raw, 并通过 photoshop 打开该文件,查看所读取的数据。
数字图像处理实验及报告(含源码)
大学数字图像处理实验报告设计题目:数字图像处理专业名称:软件工程班级: 1 学号: 1 姓名: MARK 指导教师:2016年5月16日目录实验一数字图像的采集和Photoshop软件的操作 (4)1.1实验目的 (4)1.2实验任务及要求 (4)1.3实验内容、步骤和结果 (4)1.4 结果分析 (7)实验二图像的傅里叶变换 (8)2.1实验目的 (8)2.2实验任务及要求 (8)2.3实验内容、步骤和结果 (8)2.4 结果分析 (11)实验三图像的灰度变换和直方图变换 (12)3.1实验目的 (12)3.2实验任务及要求 (12)3.3实验内容、步骤和结果 (12)3.4 结果分析 (16)实验四图像的平滑处理 (17)4.1实验目的 (17)4.2实验任务及要求 (17)4.3实验内容、步骤和结果 (17)4.4 结果分析 (20)实验五 (21)5.1实验目的 (21)5.2实验任务及要求 (21)5.3实验内容、步骤和结果 (21)5.4 结果分析 (24)实验六 (26)6.1实验目的 (26)6.2实验任务及要求 (26)6.3实验内容、步骤和结果 (26)6.4 结果分析 (28)实验一数字图像的采集和Photoshop软件的操作1.1实验目的1、熟悉并掌握MATLAB,PHOTOSHOP等工具的使用;2、实现图像的读取、显示、代数运算和简单的变换。
1.2实验任务及要求1、根据实验内容在MATLAB中编写相应地代码,使结果符合题目要求;2、在PHOTOSHOP中实现与MATLAB中相同对图像的处理,进行对比;3、完成实验报告。
1.3实验内容、步骤和结果1、实验内容:a)读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口上分成三个子窗口来分别显示RGB图像、灰度图像和二值图像,注上文字标题;b)对两幅不同图像执行加、减、乘、除操作,在同一个窗口内分成五个子窗口来分别显示,注上文字标题;c)对一幅图像进行灰度变化,实现图像变亮,变暗和负片效果,在同一个窗口内分成四个子窗口来分别显示,注上文字标题;d)学会常用数字图像处理软件Photoshop的功能操作练习。
数字图像处理课程设计实验报告
江南大学《数字图像处理技术》课程设计报告设计题目:数字图像处理系统班级:数字媒体班姓名:学号:指导老师:日期:2013.7.2一、课程设计目的要求:1、提高分析图像处理问题的能力,进一步巩固在《数字图像处理技术》课程中所学的基本原理与方法。
2、掌握并使用一门计算机语言,进行数字图像处理的应用设计。
二、设计的内容:根据本次课设完成的系统的主要功能如下:利用matlab的GUI 程序设计一个简单的图像处理程序,含有如下基本功能:1、图像的读取、存储、剪切和粘贴2、图像转化为灰度图像3、图像大小的计算4、直方图均衡化规定化的计算5、图像求反、动态压缩6、直接灰度调整7、空域滤波(均值、中值、对比度增强滤波)8、非线性锐化滤波(log滤波、prewitt滤波、sobel卷积、sobel滤波)9、频域增强(高通、低通滤波)三、总体方案设计:(1)、软件的总体设计界面布局如下图:系统的总体设计界面主要分为2个区域:显示区域和操作区域。
显示区域:在原始图像的基础上显示效果图。
操作区域:通过功能菜单实现图像的各种处理。
设计完成后运行的软件界面如下:(2)、功能模块的划分:1、图像的读取、存储、退出2、编辑(还原、剪切、粘贴)3、图像(图像大小的计算、旋转、直方图均衡化规定化的计算、图像求反、动态压缩)4、滤波(直接灰度调整、空域滤波、非线性锐化滤波、频域增强)(3)、系统运行环境:Windows 7 or SP1、Windows Vista SP2、Windows XP SP3、Windows XP x64 Edition SP2、Windows Server 2008 SP2 or R2、Windows Server 2003 R2 ,CPU要求:X86架构且支持SSE2指令集,硬盘空间:典型安装需要3-4G,内存:最低1G,推荐2G。
(4)、选用的工具:matlab7.0,win7X64(5)、主要实现功能的原理:直方图均衡化方法的基本思想是,对在图像中像素个数多的灰度级进行展宽,而对像素个数少的灰度级进行缩减。
数字图像处理课程设计报告
数字图像处理课程设计报告姓名:宋东洋、祁飞、冯登科学号:20137750342、20137750336、20137750309班级:软件开发.NET 3班设计题目:手写体数字识别教师:庞海波老师提交日期:2015年12月25日一、设计内容:主题:《手写体数字识别》详细说明:读入手写体数字图片,选择要识别的数字然后通过寻找数字边界将图像裁剪的边缘,然后生成裁剪后图像的二进制图像,并将其转换成5﹡7的图像,然后进行特征提取,运行Simulink模型识别数字。
二、现实意义:手写体数字的识别有着非常广泛的应用(如:邮政编码、统计报表、财务报表、银行票据等等).三、涉及知识内容:1、边界查找2、二值化3、Simulink模型四、实例分析及截图效果:(1)代码显示:1、程序中定义图像变量说明(1)S—------———--—-—-——--—---—----—----——————-——--—----—--———--——-—原图变量;(2)img_crop———-—-----——--—-———--—-————--—-——----——-——-—--—-----选择的图象;(3)imgGray—--————--—-—--—--———-——-----—-———-—-——--—---—------——灰度图像变量(4)BW-—-—-——---—-———-—-—--———-—--—-——------——--—-—-————--——-——--二值化图像;(5)charvec-———-—-———-—-———--——---—-——--—-——-————--——--—---—-——-5*7图像变量;2、实现代码:Index。
mfunction varargout = charGUI(varargin)%Begin initialization code - DO NOT EDITgui_Singleton = 1;gui_State = struct('gui_Name’,mfilename, ..。
数字图像处理--图像处理课程设计 报告
《数字图像处理》课程设计1、课程设计目的1、提高分析问题、解决问题的能力,进一步巩固数字图像处理系统中的基本原理与方法。
2、熟悉掌握一门计算机语言,可以进行数字图像的应用处理的开发设计。
2、课程设计要求1、要充分认识课程设计对培养自己的重要性,认真做好设计前的各项准备工作。
尤其是对编程软件的使用有基本的认识。
2、既要虚心接受老师的指导,又要充分发挥主观能动性。
结合课题,独立思考,努力钻研,勤于实践,勇于创新。
3、独立按时完成规定的工作任务,不得弄虚作假,不准抄袭他人内容,否则成绩以不及格计。
4、在设计过程中,要严格要求自己,树立严肃、严密、严谨的科学态度,必须按时、按质、按量完成课程设计。
5.2实施要求1、理解各种图像处理方法确切意义。
2、独立进行方案的制定,系统结构设计要合理。
3、在程序开发时,则必须清楚主要实现函数的目的和作用,需要在程序书写时说明做适当的注释。
如果使用matlab来进行开发,要理解每个函数的具体意义和适用范围,在写课设报告时,必须要将主要函数的功能和参数做详细的说明。
4、通过多幅不同形式的图像来检测该系统的稳定性和正确性。
用图像平均的方法消除噪声编程:J=imread('1036032.jpg');I = rgb2gray(J);[m,n]=size(I);II1=zeros(m,n);for i=1:16II(:,:,i)=imnoise(I,'gaussian',0,0.01);II1=II1+double(II(:,:,i));if or(or(i==1,i==4),or(i==8,i==16));figure;imshow(uint8(II1/i));endend迭加零均值高斯随机噪声图像4幅同类图像加平均8幅同类图像加平均16幅同类图像加平均用平滑滤波方法消除噪声编程:I=imread('001122.jpg');I=rgb2gray(I);J=imnoise(I,'gaussian',0,0.02);subplot(231),imshow(I);title('原图像');subplot(232),imshow(J);title('添加高斯噪声图像');k1=filter2(fspecial('average',3),J);k2=filter2(fspecial('average',5),J);k3=filter2(fspecial('average',7),J);k4=filter2(fspecial('average',9),J);subplot(233),imshow(uint8(k1));title('3*3模板平滑滤波'); subplot(234),imshow(uint8(k2));title('5*5模板平滑滤波'); subplot(235),imshow(uint8(k3));title('7*7模板平滑滤波'); subplot(236),imshow(uint8(k4));title('9*9模板平滑滤波');用中值滤波方法消除噪声编程:I=imread('1036032.jpg');I=rgb2gray(I);J=imnoise(I,'gaussian',0,0.01);subplot(231),imshow(I);title('原图像');subplot(232),imshow(J);title('添加高斯白噪声图像');k1=medfilt2(J);k2=medfilt2(J,[5 5]);k3=medfilt2(J,[7 7]);k4=medfilt2(J,[9 9]);subplot(233),imshow(k1);title('3×3模板中值滤波') subplot(234),imshow(k2);title('5×5模板中值滤波') subplot(235),imshow(k3);title('7×7模板中值滤波') subplot(236),imshow(k4);title('9×9模板中值滤波')用理想低通滤波方法消除噪声编程:I=imread('001122.jpg');J= rgb2gray(I);J=imnoise(J,'gaussian',0,0.02);subplot(331);imshow(J);J=double(J);f=fft2(J);g=fftshift(f);subplot(332);imshow(log(abs(g)),[]),color(jet(64)); [M,N]=size(f);n1=floor(M/2);n2=floor(N/2);d0=5;for i=1:Mfor j=1:Nd=sqrt((i-n1)^2+(j-n2)^2);if d<=d0h=1;elseh=0;endg(i,j)=h*g(i,j);endendg=ifftshift(g);g=uint8(real(ifft2(g)));subplot(333);imshow(g);I=imread('001122.jpg');J= rgb2gray(I);J=imnoise(J,'gaussian',0,0.02);subplot(331);imshow(J);J=double(J);f=fft2(J);g=fftshift(f);subplot(332);imshow(log(abs(g)),[]),color(jet(64)); [M,N]=size(f);n1=floor(M/2);n2=floor(N/2);d0=15;for i=1:Mfor j=1:Nd=sqrt((i-n1)^2+(j-n2)^2);if d<=d0h=1;elseh=0;endg(i,j)=h*g(i,j);endendg=ifftshift(g);g=uint8(real(ifft2(g)));subplot(334);imshow(g);I=imread('001122.jpg');J= rgb2gray(I);J=imnoise(J,'gaussian',0,0.02);subplot(331);imshow(J);J=double(J);f=fft2(J);g=fftshift(f);subplot(332);imshow(log(abs(g)),[]),color(jet(64)); [M,N]=size(f);n1=floor(M/2);n2=floor(N/2);d0=45;for i=1:Mfor j=1:Nd=sqrt((i-n1)^2+(j-n2)^2);if d<=d0h=1;elseh=0;endg(i,j)=h*g(i,j);endendg=ifftshift(g);g=uint8(real(ifft2(g)));subplot(335);imshow(g);I=imread('001122.jpg');J= rgb2gray(I);J=imnoise(J,'gaussian',0,0.02);subplot(331);imshow(J);J=double(J);f=fft2(J);g=fftshift(f);subplot(332);imshow(log(abs(g)),[]),color(jet(64)); [M,N]=size(f);n1=floor(M/2);n2=floor(N/2);d0=65;for i=1:Mfor j=1:Nd=sqrt((i-n1)^2+(j-n2)^2);if d<=d0h=1;elseh=0;endg(i,j)=h*g(i,j);endendg=ifftshift(g);g=uint8(real(ifft2(g)));subplot(336);imshow(g);用巴特沃斯低通滤波方法消除噪声I=imread('001122.jpg');I=rgb2gray(I);J=imnoise(I,'gaussian',0,0.04); subplot(121);imshow(J);title('高斯白噪声图像');J=double(J);f=fft2(J);g=fftshift(f);[M,N]=size(f);n=3;d0=20;n1=floor(M/2);n2=floor(N/2);for i=1:Mfor j=1:Nd=sqrt((i-n1)^2+(j-n2)^2); h=1/(1+(d/d0)^(2*n));g(i,j)=h*g(i,j);endendg=ifftshift(g);g=uint8(real(ifft2(g)));subplot(122);imshow(g);title('巴特沃斯低通滤波');峰值信噪比PSNR程序:function result=psnr(in1,in2)in1=imread('a.jpg'); %a为原图像%in2=imread('b.jpg'); %b为调制之后的图像% z=mse(in1,in2);result=10*log10(255.^2/z);function z=mse(x,y)x=double(x);y=double(y);[m,n]=size(x);z=0;for i=1:mfor j=1:nz=z+(x(i,j)-y(i,j)).^2;endendz=z/(m*n);方法一图像平均的方法处理得到信噪比分别如下:ans =7.1689ans =7.2601ans =7.2789ans =7.2876方法二平滑滤波方法处理得到信噪比分别如下:ans =6.0426ans =6.0713ans =6.0955ans =6.1052方法三中值滤波方法处理得到信噪比分别如下:ans =7.1708ans =7.2487ans =7.2830ans =7.3065ans =7.3290方法四理想低通滤波方法处理得到的信噪比:ans =5.9024ans =6.3146ans =6.1266ans =6.0586ans =6.0479方法五巴特沃斯低通滤波方法处理得到的信噪比:ans =5.9042ans =6.2459。
数字图像处理课程设计实验报告
学校代码:10128学号:数字图像处理课程设计题目:数字图像处理及H u u f m a n(或小波变换)编码仿真实现学生姓名:学院:信息工程学院系别:电子信息工程系专业:电子信息工程班级:电子指导教师:2012 年月日内蒙古工业大学课程设计(论文)任务书课程名称:数字图像处理课程设计学院:信息工程班级: ___ 学生姓名:学号:指导教师:数字图像处理课程设计1、课程设计目的通过本课程设计使学生了解数字图像的基本概念,掌握数字图像处理的基本内容,如图像点运算、几何变换、增强处理、图像复原、边缘检测以及图像压缩等的基本原理和Matlab实现方法。
通过本次课程设计,让学生掌握如何学习一门语言,如何进行资料查阅搜集,如何自己解决问题等方法,养成良好的学习习惯。
扩展理论知识,培养学生的综合设计能力。
2、课程设计内容2.1 图像处理基本功能1)数字图像的变换:普通傅里叶变换(ft)与逆变换(ift)、快速傅里叶变换(fft)与逆变换(ifft)、离散余弦变换(DCT),小波变换。
2) 数字图像直方图的统计及绘制等;3)基于Matlab的图像平滑算法实现及应用2.2 图像处理综合功能1) 图像复原程序设计●创建一个仿真运动/均值模糊PSF来模糊一幅图像(图像自选)。
●针对退化设计出复原滤波器,对退化图像进行复原(复原的方法自定)。
●对退化图像进行复原,显示复原前后图像,对复原结果进行分析,并评价复原算法。
2) 给定a,b,c,d概率,进行huffman编码,要求显示原图像、压缩后图像的文件大小、压缩比;或采用小波变换进行编码3、课程设计背景与基本原理3.1课程设计背景数字图像处理(Digital Image Processing)又称为计算机图像处理,它是指将图像信号转换成数字信号并利用计算机对其进行处理的过程。
是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法和技术。
3.2课程设计基本原理3.2.1傅里叶变换傅里叶变换是可分离和正交变换中的一个特例,对图像的傅里叶变换将图像从图像空间变换到频率空间,从而可利用傅里叶频谱特性进行图像处理。
数字图像处理-实验报告
《数字图象处理》实验报告一、数字图像处理设计主要内容数字图象处理课程设计要求使学生掌握数字图像处理的基本算法的计算机实现,从而培养学生运用数字信号处理的原理解决生物医学、电子工程领域的实际问题的能力。
进一步提高程序设计及调试能力,初步掌握进行科学研究工作的主要步骤和方法,学习和掌握科学研究资料检索的方法,学习对已有资料进行消化总结的方法,学习撰写科学报告的基本方法。
二、前期工作1.查阅资料,对数字信号处理和图象处理基本理论和实践作一全面了解;2.根据实验内容和要求确定实验思路,熟悉Matlab语言,理解对数字信号处理进行计算机仿真原理;三、设计工作1.图像平滑a.利用二个低通邻域平均模板(3×3和9×9)对一幅图象进行平滑,验证模板尺寸对图象的模糊效果的影响。
b.利用一个低通模板对一幅有噪图象(GAUSS白噪声)进行滤波,检验两种滤波模板(分别使用一个5×5的线性邻域平均模板和一个非线性模板:3×5中值滤波器)对噪声的滤波效果。
c.选择一个经过低通滤波器滤波的模糊图象,利用sobel水平边缘增强高通滤波器(模板)对其进行高通滤波图象边缘增强,验证模板的滤波效果。
d.选择一幅灰度图象分别利用一阶Sobel算子和二阶Laplacian算子对其进行边缘检测,验证检测效果。
2.图像增强a.直方图均衡化增强图像对比度的MATLAB程序。
b.采用线性变换进行图像增强的MATLAB程序。
c.采用边界锐化算法增强图像的MATLAB程序。
四、程序设计1.利用二个低通邻域平均模板(3×3和9×9)对一幅图象进行平滑,验证模板尺寸对图象的模糊效果的影响。
程序如下:l=imread('E:/matlab/test1/sample.jpg');L=rgb2gray(l);subplot(1,3,1);imshow(L);title('原图');j=fspecial('average');j1=filter2(j,L)/255;subplot(1,3,2);imshow(j1);title('3*3 滤波');k=fspecial('average',9);k1=filter2(k,L)/255;subplot(1,3,3);imshow(k1);title('9*9 滤波');仿真结果如下图:原图3*3 滤波9*9 滤波2.利用一个低通模板对一幅有噪图象(GAUSS白噪声)进行滤波,检验两种滤波模板(分别使用一个5×5的线性邻域平均模板和一个非线性模板:3×5中值滤波器)对噪声的滤波效果。
数字图像处理软件开发设计报告.docx
专业文档数字图像处理软件开发设计报告目录实验一、读取图像、显示图像和保存图像实验二、图像的灰度变换、取反和二值化处理实验三、直方图均衡实验四、图像锐化实验五、图像的平滑滤波实验六、图像的正交变换实验七、高频强调滤波增强图像实验八、陷波滤波器增强图像实验九、消除匀速运动造成的图像模糊实验十、图像的几何变换实验十一、二维离散傅里叶变换性质验证实验十二、用领域平均法平滑彩色图像实验十三、图像的伪彩色处理实验一、读取图像、显示图像和保存图像一、实验目的和内容1.通过本次实验,了解和熟悉 matlab 的实验环境,掌握图片的读取、显示、存储的方法。
2. 利用 imread() 函数读取一幅图像,假设其名为lily.tif,存入一个数组中。
3.利用 imshow() 函数来显示这幅图像。
二、实验原理(技术探讨)1.在 matlab 环境中,程序首先读取图像,然后调用直方图函数,设置相关参数,再输出处理后的图像。
读取图像 subplot(1,2,1),imshow(I)%输出图像title('原始图像 ')% 在原始图像中加标题2.启动 matlab 双击桌面 matlab 图标启动 matlab 环境;在matlab 命令窗口中输入相应程序。
书写程序时,首先读取图像,一般调用 matlab 自带的图像,如 :cameraman 图像;再调用相应的直方图函数,设置参数;最后输出处理后的图像;浏览源程序并理解含义;运行,观察显示结果;结束运行,退出三、实验程序及结果1.实验程序I=imread( ' 实验一 .jpg' );x=rgb2gray(I);figure(1)subplot(1,2,1);imshow(I);title(' 原始图像 ' );subplot(1,2,2);imshow(x);title(' 灰度图像 ' );2.实验结果四、结果分析通过本实验,我学会了用 Matlab7.0 对图像进行读取、存储、显示的节本操作。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
专业文档数字图像处理软件开发设计报告目录实验一、读取图像、显示图像和保存图像实验二、图像的灰度变换、取反和二值化处理实验三、直方图均衡实验四、图像锐化实验五、图像的平滑滤波实验六、图像的正交变换实验七、高频强调滤波增强图像实验八、陷波滤波器增强图像实验九、消除匀速运动造成的图像模糊实验十、图像的几何变换实验十一、二维离散傅里叶变换性质验证实验十二、用领域平均法平滑彩色图像实验十三、图像的伪彩色处理实验一、读取图像、显示图像和保存图像一、实验目的和内容1.通过本次实验,了解和熟悉 matlab 的实验环境,掌握图片的读取、显示、存储的方法。
2. 利用 imread() 函数读取一幅图像,假设其名为lily.tif,存入一个数组中。
3.利用 imshow() 函数来显示这幅图像。
二、实验原理(技术探讨)1.在 matlab 环境中,程序首先读取图像,然后调用直方图函数,设置相关参数,再输出处理后的图像。
读取图像 subplot(1,2,1),imshow(I)%输出图像title('原始图像 ')% 在原始图像中加标题2.启动 matlab 双击桌面 matlab 图标启动 matlab 环境;在matlab 命令窗口中输入相应程序。
书写程序时,首先读取图像,一般调用 matlab 自带的图像,如 :cameraman 图像;再调用相应的直方图函数,设置参数;最后输出处理后的图像;浏览源程序并理解含义;运行,观察显示结果;结束运行,退出三、实验程序及结果1.实验程序I=imread( ' 实验一 .jpg' );x=rgb2gray(I);figure(1)subplot(1,2,1);imshow(I);title(' 原始图像 ' );subplot(1,2,2);imshow(x);title(' 灰度图像 ' );2.实验结果四、结果分析通过本实验,我学会了用 Matlab7.0 对图像进行读取、存储、显示的节本操作。
实验二、图像的灰度变换、取反和二值化处理一、实验目的和内容1.熟悉 MATLAB软件开发环境,掌握读、写图像的基本方法。
2.理解图像灰度变换在图像增强的作用,掌握图像的灰度线性变换和非线性变换方法。
3.掌握绘制灰度直方图的方法,掌握灰度直方图的灰度变换及二值化的方法。
二、实验原理(技术探讨)1.图像的灰度化处理的基本原理将彩色图像转化成为灰度图像的过程成为图像的灰度化处理。
彩色图像中的每个像素的颜色有R、G、B 三个分量决定,而每个分量有255 中值可取,这样一个像素点可以有1600 多万( 255*255*255 )的颜色的变化范围。
而灰度图像是R、G、B 三个分量相同的一种特殊的彩色图像,其一个像素点的变化范围为255 种,所以在数字图像处理种一般先将各种格式的图像转变成灰度图像以使后续的图像的计算量变得少一些。
灰度图像的描述与彩色图像一样仍然反映了整幅图像的整体和局部的色度和亮度等级的分布和特征。
图像的灰度化处理可用两种方法来实现。
2.图像的二值化处理就是讲图像上的点的灰度置为 0 或 255,也就是讲整个图像呈现出明显的黑白效果。
即将 256 个亮度等级的灰度图像通过适当的阀值选取而获得仍然可以反映图像整体和局部特征的二值化图像。
在数字图像处理中,二值图像占有非常重要的地位,特别是在实用的图像处理中,以二值图像处理实现而构成的系统是很多的,要进行二值图像的处理与分析,首先要把灰度图像二值化,得到二值化图像,这样子有利于再对图像做进一步处理时,图像的集合性质只与像素值为 0 或 255 的点的位置有关,不再涉及像素的多级值,使处理变得简单,而且数据的处理和压缩量小。
为了得到理想的二值图像,一般采用封闭、连通的边界定义不交叠的区域。
所有灰度大于或等于阀值的像素被判定为属于特定物体,其灰度值为 255 表示,否则这些像素点被排除在物体区域以外,灰度值为 0,表示背景或者例外的物体区域。
如果某特定物体在内部有均匀一致的灰度值,并且其处在一个具有其他等级灰度值的均匀背景下,使用阀值法就可以得到比较的分割效果。
如果物体同背景的差别表现不在灰度值上(比如纹理不同),可以将这个差别特征转换为灰度的差别,然后利用阀值选取技术来分割该图像。
动态调节阀值实现图像的二值化可动态观察其分割图像的具体结果。
三、实验程序及结果1. 实验程序%二值化I=imread(' 实验二thresh=graythresh(I); I1=im2bw(I,thresh); imshow(I1).jpg');%自动确定二值化值%对图像二值化lear all ;f=imread('f' figure(1) imshow(f); figure(2)imhist(f);ylim( 'auto'g=histeq(f,256); figure(3) imshow(g); figure(4)imhist(g);ylim( 'auto');%绘制图象););f 的直方图%对 f 进行直方图均衡,输出图象的灰度级数为256A=imread('trees.tif'figure(1);subplot(1,2,1);imshow(A););title(' 原图 ' );I=double(A);h=[-1 -1 -1;-1 8 -1;-1 -1 -1];J=conv2(I,h,'same');K=uint8(J);subplot(1,2,2);imshow(K);title(' 使用拉普拉斯算子锐化处理后的图' );2.实验结果二值化四、结果分析通过这次的实验,经过广泛查阅书籍和有关知识,掌握了很多不知道的知识,使我我对图像处理有了更深一步的了解。
同时我学到了灰度级越多,图像保存的信息越多,在一定程度上减少灰度级不会明显影响图像质量,但在灰度级过少的情况下图像会失真。
实验三、直方图均衡化一、实验目的和内容编程实现下列功能:读出存储的黑白灰度图象并显示,显示灰度直方图,对图象进行直方图均衡化处理,显示处理后图象及直方图,画出灰度变换曲线,并存储处理后图象。
二、实验原理(技术探讨)方图均衡化处理的中心思想是把原始图像的灰度直方图从比较集中的某个灰度区间变成在全部灰度范围内的均匀分布。
直方图均衡化就是对图像进行非线性拉伸,重新分配图像像素值,使一定灰度范围内的像素数量大致相同。
直方图均衡化是一种自动调节图象对比度质量的算法,使用的方法是灰度级变换:s=T(r) 。
它的基本思想是通过灰度级 r 的概率密度函数,求出灰度级变换。
三、实验程序及结果1.程序clear all;f=imread( 'cameraman.tif');% 读入原图像figure(1)imshow(f);figure(2)imhist(f);%绘制图象 f 的直方图ylim( 'auto' );g=histeq(f,256);%对 f 进行直方图均衡,输出图象的灰度级数为256figure(3)imshow(g);figure(4)imhist(g);ylim( 'auto' );A=imread( 'trees.tif');figure(1);subplot(1,2,1);imshow(A);title(' 原图 ' );I=double(A);h=[-1 -1 -1;-1 8 -1;-1 -1 -1];J=conv2(I,h,'same' );K=uint8(J);subplot(1,2,2);imshow(K);title(' 使用拉普拉斯算子锐化处理后的图' );2.结果四、结果分析通过本次试验让我们看到直方图均衡化的效果,其实质就是通过减少图像的灰度级以换取对比度的增大。
通过实验加深了我们对于课本理论知识的理解和运用,提高了我们的学习效率和学习的积极性。
实验四:图像锐化一、实验目的和内容1.掌握图像锐化的概念。
2.掌握 Prewitt 算子对图像进行锐化的原理、过程。
3.熟悉 Matlab 编程。
4.利用 Prewitt 算子对图像进行锐化处理。
5.掌握 Maltab 中和图像锐化相关的函数。
二、实验原理(技术探讨)图像锐化处理是改善图像视觉效果的手段,用来对图像的轮廓或边缘进行增强,减弱或消除低分频率分量而不影响高频分量。
图像锐化处理的主要技术体现在空域和频域的高通滤波,而空域高通滤波主要用模版卷积来实现。
在图像处理中,一阶导数通过梯度来实现,因此利用一阶导数检测边缘点的方法就称为梯度算子法。
梯度值正比于像素之差。
对于一幅图像中突出的边缘区,其梯度值较大;在平滑区域梯度值小;对于灰度级为常数的区域,梯度为零。
三、实验程序及结果1.程序A=imread( 'b.jpg');figure(1);subplot(2,2,1);imshow(A);title(' 原图 ' );I=double(A);h=[1 1 1;1 -9 1;1 1 1];J=conv2(I,h,'same' );K=uint8(J);subplot(2,2,2);imshow(K+A);title(' 使用拉普拉斯算子锐化处理后的图' );B=double(A);h=[0 -1 0;-1 4 -1;0 -1 0];T=conv2(B,h,'same' );E=uint8(T);subplot(2,2,3);imshow(-E+A);title(' 使用拉普拉斯算子锐化处理后的图' )C=double(A);h=[-1 -1 -1;-1 8 -1;-1 -1 -1];D=conv2(C,h,'same' );F=uint8(D);subplot(2,2,4);imshow(-F+A);title(' 使用拉普拉斯算子锐化处理后的图' )C=double(A);h=[-1 -1 -1;-1 8 -1;-1 -1 -1];D=conv2(C,h,'same' );F=uint8(D);subplot(2,2,5);imshow(F);title(' 使用拉普拉斯算子锐化处理后的图' ) 2.结果四、结果分析通过本次试验我学到了数字图像处理中图像锐化应从水平和垂直两个方向进行,最后的锐化结果由水平和垂直锐化结果共同得到。