《图像灰度变化程序的设计说明》由会员分享,可在线阅读,更多相关《图像灰度变化程序的设计说明(29页珍藏版)》请在金锄头文库上搜索。
1、 *实践教学*理工大学计算机与通信学院2012年秋季学期计算机图象处理综合训练题 目: 图像灰度变化程序设计 专业班级:姓 名:学 号:指导教师:成 绩: / 目 录摘要1一、前言3二、算法分析与描述4三、详细设计过程7四、调试过程中出现的问题与相应解决办法9五、程序运行截图与其说明10六、简单操作手册11设计总结12参考资料13致14附录15摘 要计算机图像处理与分析是集光学、数学、计算机科学、电子学、信息论、控制论、物理学、心理学和生理学等学科的一门综合性边缘科学。随着计算机科学的迅猛发展,以与与近代发展的新理论如小波分析、马尔柯夫随机场、分形学、数学形态学、人工智能和人工神经网络等的结合
2、,计算机图像处理与分析近年来获得了长足的进展,呈现出强大的生命力。已在科学研究、工农业生产、军事技术、医疗卫生、教育等许多领域等到广泛的应用,产生了巨大的经济和社会效益,对推动社会发展,改善人们生活水平都起到了重要的作用。本程序设计主要实现对对比度线性展宽、灰级窗处理和直方图均衡化的处理,从而达到我们所需的要求,进而将其应用到特殊领域。在图像处理中主要用VC+编写图像处理程序,并调用C+图像处理的部分部函数进行处理。关键词:数字图像处理;对比度线性展宽;灰度窗处理;直方图均衡化一、 前言图像处理(image processing),用计算机对图像进行分析,以达到所需结果的技术。又称影像处理。基
3、本容 图像处理一般指数字图像处理。数字图像是指用数字摄像机、扫描仪等设备经过采样和数字化得到的一个大的二维数组,该数组的元素称为像素,其值为一整数,称为灰度值。图像处理技术的主要容包括图像压缩,增强和复原,匹配、描述和识别3个部分。 常见的处理有图像数字化、图像编码、图像增强、图像复原、图像分割和图像分析等。图像处理一般指数字图像处理。 灰度变换主要针对独立的像素点进行处理,通过改变原始图像数据所占有的灰度围而使图像在视觉上得到改观,没有利用像素点之间的相互关系。因此,灰度变换处理方法也叫点运算。点运算是一种既简单又重要的技术,一幅输入图像经过点运算后将产生一幅新的输出图像,由输入像素点的灰度
4、值决定相应的输入像素点的灰度值。二、算法分析与描述2.1 对比度扩展对比度:通俗地讲,就是亮暗的对比程度。设有一幅图,由于成象时光照不足,使得整幅图偏暗,(灰度围从0到63);或者成象时光照过强,使得整幅图偏亮,(灰度围从200到255),我们称这些情况为低对比度,即灰度都挤在一起,没有拉开。灰度扩展的意度的目的,图2-1说明对比度扩展的原理思就是把你所感兴趣的灰度围拉开,使得该围的像素,亮的越亮,暗的越暗,从而达到了增强对比度的目的。我们可以用图2-1来说明对比度扩展的原理。图2-1对比度扩展的原理图2.1中的横坐标gold表示原图的灰度值,纵坐标gnew表示gold经过对比度扩展后得到了新
5、的灰度值。a,b,c为三段直线的斜率,因为是对比度扩展,所以斜率b1。g1old和g2old表示原图中要进行对比度扩展的围,g1new和g2new表示对应的新值。用公式表示为显然要得到对比度扩展后的灰度,我们需要知道a,b,c,g1old,g2old五个参数。由于有新图的灰度级别也是255这个约束,所以满足ag1old+b(gold-g1old)+c(255-g2old)=255这个方程。这样,我们只需给出四个参数,而另一个可以代入方程求得。我们假设a=c,这样,我们只要给出b,g1old和g2old,就可以求出a=(255-b(g2old-g1old)/(255-(g2old-g1old)要
6、注意的是,给出的三个参数必须满:(1) b*(g2old-g1old)=255;(2) (g2old-g1old) 1) I = rgb2gray(I); %如果是灰度图就不用先变换 end I = double(I) / 255; I1 = uint8(255 * I * 0.5 + 0.5);imshow(I1);imwrite(I,test.jpg) %显示展宽后的图片3.3灰级窗详细设计clear all;close all;fa=45;fb=160;I=imread(123.bmp);imshow(I);I=rgb2gray(I);figure;imshow(I);m,n=size(
7、I);J=double(I);k2=255/(fb-fa);for i=1:m for j=1:n if I(i,j) fa J(i,j)=0; elseif I(i,j) fb J(i,j)=k2*(I(i,j)-fa); else J(i,j)=0; end endend figure; imshow(J);3.4直方图均衡化处理详细设计img=imread(123.bmp); p=rgb2gray(img); h=imhist(p); h1=h(1:2:256); h2=1:2:256; stem(h2,h1,r-); figure,imhist(p);四、 调试过程中出现的问题与相应解
8、决办法1.本软件大多数功能实现是针对二值图像,如果输入图像为RGB图像如:腐蚀,膨胀将无法处理显示,请先进行RGB图像转二值图像操作后再进行其他处理, 图像在进行二值转换时要注意阙值的大小,以便使得图片的效果最佳。2.其次是图片的路径问题,首先得找到图片所在的位置,否则会显示错误。3.调试过程中要注意Tag的属性设置和String的属性,正确赋值,防止错误运。五、程序运行截图与其说明1.打开文件 图5.12.打开图片后如图5.2 图5.23.点击图像处理下的对比度扩展图5.34. 点击图像处理下的灰级窗处理 图5.45. 点击图像处理下的直方均衡化 图5.56.点击文件目录下的保存进行保存 图
9、5.6六、简单操作手册如果装有matlab软件直接双击导入相应函数之后,点击“回车”键程序,实现相应的功能。运行程序出现界面:图6.1开始界面点击文件,再点击打开,选择原图:点击图像处理,选择灰级窗/对比度线性展宽/直方均衡化 图6.3 图6.4图6.5点击文件,选择保存,保存图像 图6.7设计总结通过本次课程设计,使我对计算机图像处理这门课程有了更深入的理解。计算机图像处理是一门实践性较强的课程,为了学好这门课程,必须在掌握理论知识的同时,加强上机实践。一个人的力量是有限的,要想把课程设计做的更好,就要学会参考一定的资料,吸取别人的经验,让自己和别人的思想有机的结合起来,得出属于你自己的灵感
10、。程序的编写需要有耐心,有些事情看起来很复杂,但问题需要一点一点去解决,分析问题,把问题一个一个划分,划分成小块以后就逐个去解决。再总体解决大的问题。这样做起来不仅有条理也使问题得到了轻松的解决。在这个过程中,我也曾经因为实践经验的缺乏失落过,也曾经仿真成功而热情高涨。生活就是这样,汗水预示着结果也见证着收获。劳动是人类生存生活永恒不变的话题。虽然这只是一次的极简单的课程制作,可是平心而论,也耗费了我不少的心血,这就让我不得不佩服开发技术的前辈,才意识到老一辈对我们社会的付出,为了人们的生活更美好,他们为我们社会所付出多少心血啊!对我而言,知识上的收获重要,精神上的丰收更加可喜。让我知道了学无
11、止境的道理。我们每一个人永远不能满足于现有的成就,人生就像在爬山,一座山峰的后面还有更高的山峰在等着你。挫折是一份财富,经历是一份拥有。这次课程设计必将成为我人生旅途上一个非常美好的回忆!通过这次的课程设计我对于专业课的学习有了更加深刻的认识,以为现在学的知识用不上就加以怠慢,等到想用的时候却发现自己的学习原来是那么的不扎实。以后努力学好每门专业课,让自己拥有更多的知识,才能解决更多的问题!参考资料1力,VisualC+高级编程,人民邮电,20022何斌,马天予,王运坚,红莲等编著,VisualC+数字图像处理,人民邮电,20023白乔,左飞,把脉VisualC+,电子工业,20094章毓晋.图像处理和分析基础M.:高等教育.2002.5钟志光,鲁君,伟荣.VC+.NET数字图像处理实例与解析M.清华大学,2003.6汪翔袁辉,Visual C+实践与提高,