2013数字图像处理课程设计报告
- 格式:doc
- 大小:848.00 KB
- 文档页数:17
《数字图像处理》课程设计报告——手写阿拉伯数字的识别1、课程设计目的1)、提高分析问题、解决问题的能力,进一步巩固数字图像处理系统中的基本原理与方法。
2)、掌握文献检索的方法与技巧。
3)、熟悉掌握一门计算机语言,可以进行数字图像的应用处理的开发设计。
2、方法综述字符识别处理的信息可分为两大类:一类是文字信息,处理的主要是用各国家、各民族的文字(如:汉字,英文等)书写或印刷的文本信息,目前在印刷体和联机手写方面技术已趋向成熟,并推出了很多应用系统;另一类是数据信息,主要是由阿拉伯数字及少量特殊符号组成的各种编号和统计数据,如:邮政编码、统计报表、财务报表、银行票据等等,处理这类信息的核心技术是手写数字识别。
本次实验是对手写的阿拉伯数字进行识别,主要步骤包括预处理模块(其中用到图像分割方法),特征提取和利用人工神经网络(具体运用BP 神经网络方法)进行数字的识别。
2.1图像分割:图像分割就是把图像分成若干个特定的、具有独特性质的区域并提出感兴趣目标的技术和过程。
它是由图像处理到图像分析的关键步骤。
现有的图像分割方法主要分以下几类:基于阈值的分割方法、基于区域的分割方法、基于边缘的分割方法以及基于特定理论的分割方法等。
2.1.1基于阈值的分割方法灰度阈值分割[1]法是一种最常用的并行区域技术,它是图像分割中应用数量最多的一类。
阈值分割方法实际上是输入图像f到输出图像g的如下变换:其中,T为阈值,对于物体的图像元素g(i,j)=l,对于背景的图像元素g(i,j)=0。
由此可见,阈值分割算法的关键是确定阈值,如果能确定一个合适的阈值就可准确地将图像分割开来。
阈值确定后,将阈值与像素点的灰度值比较和像素分割可对各像素并行地进行,分割的结果直接给出图像区域。
阈值分割的优点是计算简单、运算效率较高、速度快。
在重视运算效率的应用场合(如用于硬件实现),它得到了广泛应用。
人们发展了各种各样的阈值处理技术,包括全局阈值、自适应阈值、最佳阈值等等。
《数字图像处理技术》课程设计报告设计题目:车牌识别系统班级:数媒姓名:学号:一、目的与要求1、提高分析图像处理问题的能力,进一步巩固在《数字图像处理技术》课程中所掌握的基本原理与方法。
2、掌握并使用一门计算机语言,进行数字图像处理的应用设计。
二、设计的内容1、主要功能:牌照图像的采集和预处理、牌照区域的定位和提取、牌照字符的分割和识别等。
2、系统工作的原理以及过程:(1)当行驶的车辆经过时,触发埋设在固定位置的传感器,系统被唤醒处于工作状态;一旦连接摄像头光快门的光电传感器被触发,设置在车辆前方、后方和侧面的相机同时拍摄下车辆图像;(2)由摄像机或CCD 摄像头拍摄的含有车辆牌照的图像通视频卡输入计算机进行预处理,图像预处理包括图像转换、图像增强、滤波和水平较正等;(3)由检索模块进行牌照搜索与检测,定位并分割出包含牌照字符号码的矩形区域;(4)对牌照字符进行二值化并分割出单个字符,经归一化后输入字符识别系统进行识别。
三、总体方案设计车牌识别的最终目的就是对车牌上的文字进行识别。
主要应用的为模板匹配方法。
因为系统运行的过程中,主要进行的都是图像处理,在这个过程中要进行大量的数据处理,所以处理器和内存要求比较高,CPU要求主频在600HZ及以上,内存在128MB及以上。
系统可以运行于Windows98、Windows2000或者Windows XP操作系统下,程序调试时使用matlab。
1、功能模块的划分:(1)预处理及边缘提取:图象的采集与转换,边缘提取。
(2)牌照的定位和分割:牌照区域的定位,牌照区域的分割,车牌进一步处理。
(3)字符的分割与归一化:字符分割,字符归一化。
(4)字符的识别2、具体功能实现的原理以及流程图:1、预处理及边缘提取预处理及边缘提取流程图(1)图象的采集与转换:考虑到现有牌照的字符与背景的颜色搭配一般有蓝底白字、黄底黑字、白底红字、绿底白字和黑底白字等几种,利用不同的色彩通道就可以将区域与背景明显地区分出来,例如,对蓝底白字这种最常见的牌照,采用蓝色 B 通道时牌照区域为一亮的矩形,而牌照字符在区域中并不呈现。
数字图像处理设计报告【设计目的】配合《数字图像处理》课程的教学,使学生能巩固和加深对数字图像处理基础理论和基本知识的理解;掌握使用图像处理软件处理图像基本思想和方法;提高学生对图像处理方面的实际问题的应对能力并将所学知识在实践中巩固。
【设计要求】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范围内是一个单值单增函数。
这是为了保证增强处理没有打乱原始图像的灰度排列次序,原图各灰度级在变换后仍保持从黑到白(或从白到黑)的排列。
数字图像处理实验报告光信13-2班2013210191韩照夏数字图像处理实验报告实验一数字图像空间域平滑一、实验目的掌握图像空间域平滑的原理和程序设计;观察对图像进行平滑增强的效果。
二、实验设备计算机,Matlab程序平台。
三、实验原理图像平滑处理的目的是改善图像质量和抽出对象特征。
任何一幅未经处理的原始图像,都存在着一定程度的噪声干扰。
噪声恶化了图像质量,使图像模糊,甚至淹没特征,给分析带来困难。
消除图像噪声的工作称为图像平滑或滤波。
针对不同噪声源(如光栅扫描、底片颗粒、机械元件、信道传输等)引起的不同种类噪声(如加性噪声、乘性噪声、量化噪声等),平滑方法也不同。
平滑可以在空间域进行,也可以在频率域进行。
1.局部平均法局部平滑法是一种直接在空间域上进行平滑处理的技术。
假设图像由许多灰度恒定的小块组成,相邻象素间存在很高的空间相关性,而噪声则是统计独立的。
因此,可用邻域内各象素的灰度平均值代替该象素原来的灰度值,实现图像的平滑。
对图像采用3×3的邻域平均法,其作用相当于用以下模板与图像进行卷积运算。
2. 超限象素平滑法 对邻域平均法稍加改进,可导出超限象素平滑法。
其原理是将f(x,y)和邻域平均g(x,y)差的绝对值与选定的阈值进行比较,根据比较结果决定点(x,y )的最后灰度g ´(x,y)。
其表达式为3. 二维中值滤波中值滤波就是用一个奇数点的移动窗口, 将窗口中心点的值用窗口内各点的中值代替。
二维中值滤波可由下式表示常用的窗口有:四、实验步骤1.实验准备:打开计算机,进入Matlab 程序界面。
2.输入图像空间域平滑处理程序,程序如下:⎩⎨⎧>-= ),(),(),( ),,(),('其他,当y x f T y x g y x f y x g y x g )},({),(y x f Med y x g A=程序1.1 图像平滑处理clear;clc;I=imread('lena.jpg');subplot(3,2,1);imshow(I);title('原图像');I1=imnoise(I,'salt & pepper',0.02);subplot(3,2,2);imshow(I1);title('对I加椒盐噪声的图像');h2=fspecial('average',[3 3]);I2=imfilter(I1,h2,'replicate');subplot(3,2,3);imshow(I2);title('3×3邻域平滑');h3=fspecial('average',[5 5]);I3=imfilter(I1,h3,'replicate');subplot(3,2,4);imshow(I3);title('5×5邻域平滑');I4=I1;I4((abs(I1-I2))>64)=I2((abs(I1-I2))>64);subplot(3,2,5);imshow(I4);title('3×3超限象素平滑(T=64)'); I5=I1;I5((abs(I1-I3))>48)=I3((abs(I1-I3))>48);subplot(3,2,6);imshow(I5);title('5×5超限象素平滑(T=48)');程序1.2 图像平均平滑与中值滤波clear;clc;I=imread('lena.jpg');subplot(3,3,1);imshow(I);title('原图像');I1=imnoise(I,'gaussian',0.02);subplot(3,3,2);imshow(I1);title('高斯噪声');I2=imnoise(I,'salt & pepper',0.02);subplot(3,3,3);imshow(I1);title('椒盐噪声');h1=fspecial('average',[3 3]);I3=imfilter(I1,h1,'replicate');subplot(3,3,4);imshow(I3);title('对I1 3×3邻域平滑');h2=fspecial('average',[3 3]);I4=imfilter(I2,h2,'replicate');subplot(3,3,5);imshow(I4);title('对I2 3×3邻域平滑');I5=medfilt2(I1,[5 5]);subplot(3,3,6);imshow(I5);title('对I1 5×5中值滤波');I6=medfilt2(I2,[5 5]);subplot(3,3,7);imshow(I6);title('对I2 5×5中值滤波');3.运行图像处理程序,并保存处理结果图像。
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 % 单个向量中的特征表示。
.....word 格式.整理版数字图像处理课程设计报告课设题目: 彩色图像增强软件 学 院: 信息科学与工程学院 专 业: 电子与信息工程 班 级: 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)word格式.整理版.....一. 课程设计任务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 设计,学习软件界面的设计word格式.整理版.....word 格式.整理版二. 课程设计原理及设计方案2.1 彩色图像基础在图像处理中,颜色的运用主要受两个因素推动。
数字图像处理课程设计报告细胞识别目录第一部分页脚内容11、实验课题名称----------------------------------------------------------------------------------32、实验目的----------------------------------------------------------------------------------------33、实验内容概要----------------------------------------------------------------------------------3第二部分1、建立工程文件----------------------------------------------------------------------------------32、图像信息获取----------------------------------------------------------------------------------43、如何建立下拉菜单----------------------------------------------------------------------------64、标记Mark点------------------------------------------------------------------------------------65、二值化---------------------------------------------------------------------------------------------96、填洞------------------------------------------------------------------------------------------------97、收缩------------------------------------------------------------------------------------------------108、获取中心点--------------------------------------------------------------------------------------119、细胞计数-----------------------------------------------------------------------------------------1310、All-steps-----------------------------------------------------------------------------------------1311、扩展功能---------------------------------------------------------------------------------------14第三部分12、各步骤结果和错误举例--------------------------------------------------------------------16页脚内容2第四部分13、心得体会----------------------------------------------------------------------------------------22第一部分1、实验课题:细胞识别2、实验目的:对血液细胞切片图片进行各种处理,最终得出细胞的数目、面积等信息。
课程设计书写规范1)每个同学必须独立完成课设报告,否则不能通过这门课的考查。
2)使用学校制定的统一封皮。
3)课程设计报告的内容包括:封面、课程设计任务书、中文摘要、目录、正文、参考文献、附录。
课设报告按以上顺序装订。
4)课程设计报告正文应包括设计目的、工作原理、设计方案(思路)、具体设计内容,包括源代码(加注释),效果图(加说明)等,报告的最后一项为结束语。
6)正文字体要求为宋体,小4号字。
可参考毕业设计论文格式要求。
7)课程设计报告以论述为主,配以关键代码说明,运行效果分析。
8) 运行结果要有标题注释。
严禁抄袭,如有发现,按不及格处理。
课程设计(论文)任务书信息学院信息工程专业2013-1 班一、课程设计(论文)题目(2)巩固图像处理课程所学的内容;(3)培养学生的计算机思维能力以及合作的精神;(4)培养学生分析、解决问题的能力;(5)提高学生的科技论文写作能力。
2.课程设计的任务及要求1)基本要求:(1)理解。
,掌握图像处理的基本方法;(2)理解。
算法的工作原理及工作流程;(3)使用matlab函数实现基本算法,并对其进行分析比较。
2)创新要求:深入学习图像处理方法,了解各方法的适用场合。
提高系统的容错能力,完善系统功能,进行代码优化。
3)课程设计论文编写要求(1)要按照书稿的规格打印誊写课程设计论文(2)论文包括封面、设计任务书(含评语)、摘要、目录、设计内容、设计小结(3)论文装订按学校的统一要求完成4)参考文献:(1)董.《》某出版社(2)张.《》某出版社(3)http://某网址/5)课程设计进度安排内容天数地点布置课设任务,完成图像处理基础实验1实验室空域、频域的图像增强实验2实验室、图书馆图像还原实验1实验室课题原理分析、系统框架设计1实验室代码设计及调试3实验室、图书馆答辩及撰写报告2实验室、图书馆学生签名:2016年7月1日课程设计(论文)评审意见(1)课程设计过程(25分):优()、良()、中()、一般()、差();(2)学生互评(40分):优()、良()、中()、一般()、差();(3)课程设计报告(30分):优()、良()、中()、一般()、差();(4)其他项:(5分):优()、良()、中()、一般()、差();评阅人:职称:副教授2016年7月1 日数字图像处理的Photoshop仿真软件设计专业:信息工程学号:学生姓名:指导教师:蔡体健摘要Photoshop软件是图像处理的经典应用。
数字图像处理课程设计报告姓名:胡江南学号:20137750215班级: .net2班设计题目:指纹识别设计教师:赵哲老师提交日期: 12月25日一、设计内容:主题:《指纹识别设计》详细说明:读入指纹图片,通过二值图变换,开运算,闭运算,以及贴标签等方法获得细胞个数。
二、涉及知识内容:1、中值滤波2、开运算3、闭运算4、二值化5、贴标签三、设计流程图四、实例分析及截图效果:运行效果截图:第一步:读取原图,并显示Image = imread('红细胞5.jpg');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(' 【优化后二值化图象取反】');第六步:填充二进制图像的背景色,去掉细胞内的黑色空隙Filled_Image_BW = bwfill(Reverse_Image_BW,'holes');figure, imshow(Filled_Image_BW);title(' 【已填充背景色的二进制图像】');第七步:对图像进行开运算,去掉细胞与细胞之间相粘连的部分SE = strel('disk',4);Open_Image_BW = imopen(Filled_Image_BW,SE);figure, imshow(Open_Image_BW);title(' 【开运算后的图像】');第八步:开始计算细胞数[Label Number]=bwlabel(Open_Image_BW,8)%初步取得细胞个数Array = bwlabel(Open_Image_BW,8);%取得贴标签处理后的图像Sum = [];%依次统计贴标签后数组for i=1:Number[r,c] = find(Array==i);%获取相同标签号的位置,将位置信息存入[r,c]rc = [r c];Num = length(rc);%取得vc数组的元素的个数Sum([i])=Num;%将元素个数存入Sum数组endSumN = 0;-----假如Sum数组中的元素大于了1500,表示有两个细胞相连,像素点较多,即分为两个细胞数---for i=1:length(Sum)if(Sum([i])) > 1500N = N+1;endendNumber = Number+N %----统计最终细胞数第九步:最终检测结果:Number =92Sum =Columns 1 through 103011 313 1501 329 2238 795 758 1438 1087 1472Columns 11 through 201476 1465 2902 1128 1655 44 6261 1193 1306 215Columns 21 through 301112 1074 1177 930 493 1438 1121 1678 1210 1330Columns 31 through 401370 1369 1153 1284 1061 589 2146 1486 1335 1049Columns 41 through 501275 1101 1127 661 1530 1304 2861 90 1772 854Columns 51 through 601554 1582 1287 1362 81 2090 608 1736 853 1040Columns 61 through 702779 1500 246 77 1096 1481 9680 1404 783 724Columns 71 through 801439 626 1097 1823 1511 1223 1494 2494 1519 1329Columns 81 through 90733 1119 1205 1147 1295 1398 344 1634 324 1081Columns 91 through 92529 239Number =114四、算法分析(1)中值滤波利用中值滤波可以对图像进行平滑处理。
数字图像处理课程设计报告课设题目:彩色图像增强软件学院:信息科学与工程学院专业:电子与信息工程班级: 1002501*名:***学号: *********指导教师:***哈尔滨工业大学(威海)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 -哈尔滨工业大学(威海)课程设计报告二. 课程设计原理及设计方案2.1 彩色图像基础在图像处理中,颜色的运用主要受两个因素推动。
第一,颜色是一个强有力的描绘子,它常常可简化目标物的区分及从场景中抽取目标;第二,人可以辨别几千种颜色色调和亮度,但相比之下只能辨别几十种灰度层次。
第二个因素对于人工图像分析特别重要。
虽然人的大脑感知和理解颜色所遵循的过程是一种生理心理现象,这一现象还未被完全了解,但颜色的物理性质可以由实验和理论结果支持的基本形式来表示。
2.2 彩色模型色彩模型:RGB模型、CMY模型、CMYK模型、HIS模型、HSV模型、YUV模型、YIQ模型。
2.2.1 RGB模型国际照明委员会(CIE)规定以蓝(435.8nm)、绿(546.1nm)和红(700nm)作为主原色。
- 2 -哈尔滨工业大学(威海)课程设计报告- 3 -Matlab 中一幅RGB 图可表示为一个M*N*3的3维矩阵。
其中每一个彩色像素都在特定空间位置的彩色图像中对应红、绿、蓝3个分2.2.2 HSI 模型HSI 模型是从人的视觉系统出发,直接使用颜色三要素色调(Hue )、饱和度(Saturation )和亮度(Intensity )来描述颜色。
-亮度指人眼感觉光的明暗程度。
光的能量越大,亮度越大。
-色调由物体反射光线中占优势的波长决定。
反映颜色的本质。
-饱和度指颜色的深浅和浓淡程度,饱和度越高,颜色越深。
HIS 色彩空间比RGB 彩色空间更符合人的视觉特性。
亮度和色度具有可分离特性,使得图像处理和机器视觉中大量灰度处理算法都可在HIS 彩色空间中方便使用。
色调: ()⎩⎨⎧>-≤=G B G B H ,360)(,θθ 其中: []⎪⎪⎭⎪⎪⎬⎫⎪⎪⎩⎪⎪⎨⎧--+--+-=212))(()()]()[(21arccos B G G R G R B R G R θ哈尔滨工业大学(威海)课程设计报告- 4 -饱和度: []),,m in()(31B G R B G R S ++-=强度: )(31B G R I ++=从HSI 到RGB 的转换:在[0,1]内给出HSI 值,现在要在相同的值域找到RGB 值,可利用H 值公式。
在原始分割中有3个相隔120°的扇形。
从H 乘以360°开始,这时色调值返回原来的[0°,360°]的范围。
RGB 扇区(0°≦H<120°):在H 位于这一扇区时,RGB 分量由下时给出: )1(S I B -=])60cos(cos 1[H HS I R -+=。
)(3B R I G +-=GB 扇区(120°≦H<240°):如果给定的H 值在这一扇区,则首先从H 中减去120°,即。
120-=H H然后RGB 分量为)1(S I R -=])60cos(cos 1[H HS I G -+=。
)(3G R I B +-=BR 扇区(240°≦H<360°):最后,如果H 在这一扇区,则从H 中减去240°,即。
240-=H H哈尔滨工业大学(威海)课程设计报告- 5 -)1(S I G -=])60cos(cos 1[H HS I B -+=。
)(3B G I R +-=哈尔滨工业大学(威海)课程设计报告三. 课程设计的步骤和结果3.1 采集图像利用imread()语句读入图像,利用彩色图像模型转换公式,将RGB 类型图像转换为HSI 类型图像,显示各分量图像(如imshow(image)),以及计算和显示各分量图像直方图。
image=imread('tuxiangzq.jpg');image=im2double(image);[H,S,I]=rgb2hsi(image); %RGB到HSI的转换figure(1);subplot(231);imshow(H);title('HSI H分量图');subplot(232);imshow(S);title('HSI S分量图');subplot(233);imshow(I);title('HSI I分量图');%画各分量的直方图subplot(234);imhist(H);title('H分量的直方图');subplot(235);imhist(S);title('S分量的直方图');subplot(236);imhist(I);title('I分量的直方图');figure(2);subplot(121);- 6 -哈尔滨工业大学(威海)课程设计报告imshow(image);title('原图');J = imadjust(I,[0.3 0.7],[]);subplot(122);imshow(J) %对比度增强title('增强对比度后');3.2 图像增强3.2.1 对I分量进行对比度拉伸对HSI彩色模型图像的I分量进行对比度拉伸,对S分量图像进行适当调整,使图像色彩鲜艳或柔和,H 分量保持不变。
将处理后的图像转换成RGB 类型图像,并进行显示:image=imread('tuxiangzq.jpg'); %采集图像image=im2double(image);[H,S,I]=rgb2hsi(image); %RGB到HSI的转换i2 = imadjust(I,[0.3 0.7],[]); %对I分量进行对比度拉伸S=imadjust(S,[0.1 0.5],[]); %对S分量进行对比度拉伸x_hsi=cat(3,H,S,i2);- 7 -哈尔滨工业大学(威海)课程设计报告x_h_r=hsi2rgb(x_hsi); % HSI空间转换为RGB空间figureimshow(x_h_r);title('I分量均衡化');3.2.2 对I分量进行均衡化I分量直方图均衡化,对S分量图像进行适当调整,使图像色彩鲜艳或柔和,H 分量保持不变。
将处理后的图像转换成RGB 类型图像,并进行显示:image=imread('tuxiangzq.jpg'); %采集图像image=im2double(image);[H,S,I]=rgb2hsi(image); %RGB到HSI的转换i2=histeq(I); %对I分量进行直方图均衡化,加强对比度S=imadjust(S,[0.1 0.5],[]); %对S分量进行对比度拉伸x_hsi=cat(3,H,S,i2);x_h_r=hsi2rgb(x_hsi); % HSI空间转换为RGB空间figureimshow(x_h_r);title('I分量均衡化');- 8 -哈尔滨工业大学(威海)课程设计报告3.3 界面设计主要控件程序如下:①图像采集function pushbuttonCJ_Callback(hObject, eventdata, handles) image=imread('tuxiangzq.jpg');image=im2double(image);axes(handles.axes1);imshow(image);title('原图');②显示各分量图像function pushbuttonFLT_Callback(hObject, eventdata, handles) image=imread('tuxiangzq.jpg');image=im2double(image);[H,S,I]=rgb2hsi(image); %RGB到HSI的转换axes(handles.axes2);imshow(H);title('HSI H分量图');- 9 -哈尔滨工业大学(威海)课程设计报告%figure(2);axes(handles.axes3);imshow(S);title('HSI S分量图');%figure(3);axes(handles.axes4);imshow(I);title('HSI I分量图');③显示各分量直方图function pushbuttonFLZFT_Callback(hObject, eventdata, handles) image=imread('tuxiangzq.jpg');image=im2double(image);[H,S,I]=rgb2hsi(image); %RGB到HSI的转换axes(handles.axes5);imhist(H);title('H分量的直方图');axes(handles.axes6);imhist(S);title('S分量的直方图');axes(handles.axes7);imhist(I);title('I分量的直方图');④图像增强function pushbuttonZQ_Callback(hObject, eventdata, handles) val = get(handles.popupmenuzq,'value');while (val~=0)switch valcase 1; image=imread('tuxiangzq.jpg');image=im2double(image);[H,S,I]=rgb2hsi(image); %RGB到HSI的转换i2 = imadjust(I,[0.3 0.7],[]); %对比度拉伸S=histeq(S);x_hsi=cat(3,H,S,i2);x_h_r=hsi2rgb(x_hsi); % HSI空间转换为RGB空间- 10 -哈尔滨工业大学(威海)课程设计报告axes(handles.axes10);imshow(x_h_r);title('对比度拉伸');break;case 2; image=imread('tuxiangzq.jpg');image=im2double(image);[H,S,I]=rgb2hsi(image); %RGB到HSI的转换i2=histeq(I); %对I分量进行直方图均衡化,加强对比度S=histeq(S);x_hsi=cat(3,H,S,i2);x_h_r=hsi2rgb(x_hsi); % HSI空间转换为RGB空间axes(handles.axes11);imshow(x_h_r);title('I分量均衡化');break;endend效果图如下:- 11 -哈尔滨工业大学(威海)课程设计报告四. 课程设计总结本文主要介绍了运用MATLAB来实现彩色图像增强的方法研究。