欢迎来到天天文库
浏览记录
ID:57333259
大小:283.00 KB
页数:7页
时间:2020-08-12
《数字图像灰度图像二值化实验报告matlab实现.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数字图像处理实验报告实验二灰度图像的二值化处理学号姓名日期实验二灰度图像的二值化处理一、实验目的图像二值化是数字图像处理技术中的一项基本技术,二值化图像的显示与打印十分方便,存储与传输也非常容易,在目标识别、图像分析、文本增强、字符识别等领域得到广泛应用。图像二值化是将灰度图像转化为只有黑白两类像素的图像,大多采用阈值化算法处理。在不同的应用中,阈值的选取决定着图像特征信息的保留。因此,图像二值化技术的关键在于如何选取阈值。二、实验内容1、编程绘制数字图像的直方图。2、灰度图像二值化处理。三、实
2、验要求1、自己选择灰度图像。2、选择多种阈值分割算法,并比较和分析图像二值化处理的结果。3、使用VC++编程序。四、设计思想(阈值选取算法)灰度图像是指只含亮度信息,不含色彩信息的图像,将彩色图像转化成为灰度图像的过程称为图像的灰度化处理。图像的二值化处理就是将图像上的点的灰度置为0或255,也就是使整个图像呈现出明显的黑白效果。即将256个亮度等级的灰度图像通过适当的阀值选取而获得仍然可以反映图像整体和局部特征的二值化图像。阀值分割选取算法有:典型的全局阀值算法的Otsu算法、局部阀值方法中的
3、Bersen算法、灰度拉伸法、直方图方法等等。1.Otsu算法的设计思想:设阀值将图像分割成两组,一组灰度对应目标,另一组灰度对应背景,则这两组灰度值的类内方差最小,两组的类间方差最大。对图像设阈值将图像分割成两组,一组灰度对应目标,另一组灰度对应背景,则这两组灰度值的类内方差最小,两组的类间方差最大。2.Bersen算法的设计思想:把灰度阈值选取为随像素位置变化而变化的函数,它是一种动态选择阈值的自适应方法。3.灰度拉伸算法设计思想:灰度拉伸又叫对比度拉伸,它是最基本的一种灰度变换,使用的是最
4、简单的分段线性变换函数,它的主要思想是提高图像处理时灰度级的动态范围。4.直方图算法的设计思想:把原始图像的灰度直方图从比较集中的某个灰度区间变成在全部灰度范围内的均匀分布。五、源程序(附上注释)1.OTSU算法代码:I=imread('2.jpg');th=graythresh(I);J=im2bw(I,th);subplot(121)imshow(I);subplot(122)imshow(J);2.Bernsen算法代码:%Bernsen算法代码:clc;clearallcloseallI
5、=imread('2.jpg');[m,n]=size(I);I_gray=double(I);T=zeros(m,n);M=3;N=3;fori=M+1:m-Mforj=N+1:n-Nmax=1;min=255;fork=i-M:i+Mforl=j-N:j+NifI_gray(k,l)>maxmax=I_gray(k,l);endifI_gray(k,l)6、fori=1:mforj=1:nifI_gray(i,j)>T(i,j)I_bw(i,j)=255;elseI_bw(i,j)=0;endendendsubplot(121),imshow(I);subplot(122),imshow(I_bw);3.改进的Bernsen算法代码:clc;clearallcloseallI=imread('2.jpg');I_gray=double(I);[m,n]=size(I);a=0.3;A=0;T1=0;S=0;fori=1:mforj=1:nA=A+I7、_gray(i,j);endendA=A*0.9;while(Smaxmax=I_gray(k,l);endifI_gray(k8、,l)(1+a)*T1I_bw(i,j)=255;endifI_gray(i,j)<(1-a)*T1I_bw(i,j)=0;endif(1-a)*T1<=I_gray(i,j)<=(1-a)*T1
6、fori=1:mforj=1:nifI_gray(i,j)>T(i,j)I_bw(i,j)=255;elseI_bw(i,j)=0;endendendsubplot(121),imshow(I);subplot(122),imshow(I_bw);3.改进的Bernsen算法代码:clc;clearallcloseallI=imread('2.jpg');I_gray=double(I);[m,n]=size(I);a=0.3;A=0;T1=0;S=0;fori=1:mforj=1:nA=A+I
7、_gray(i,j);endendA=A*0.9;while(Smaxmax=I_gray(k,l);endifI_gray(k
8、,l)(1+a)*T1I_bw(i,j)=255;endifI_gray(i,j)<(1-a)*T1I_bw(i,j)=0;endif(1-a)*T1<=I_gray(i,j)<=(1-a)*T1
此文档下载收益归作者所有