ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:888.51KB ,
资源ID:4634115      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4634115.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(图像灰度变化程序设计.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

图像灰度变化程序设计.docx

1、图像灰度变化程序设计*实践教学*兰州理工大学计算机与通信学院2012年秋季学期计算机图象处理综合训练题 目: 图像灰度变化程序设计 专业班级: 姓 名: 学 号: 指导教师: 成 绩: 摘 要计算机图像处理与分析是集光学、数学、计算机科学、电子学、信息论、控制论、物理学、心理学和生理学等学科的一门综合性边缘科学。随着计算机科学的迅猛发展,以及与近代发展的新理论如小波分析、马尔柯夫随机场、分形学、数学形态学、人工智能和人工神经网络等的结合,计算机图像处理与分析近年来获得了长足的进展,呈现出强大的生命力。已在科学研究、工农业生产、军事技术、医疗卫生、教育等许多领域等到广泛的应用,产生了巨大的经济和

2、社会效益,对推动社会发展,改善人们生活水平都起到了重要的作用。本程序设计主要实现对对比度线性展宽、灰级窗处理和直方图均衡化的处理,从而达到我们所需的要求,进而将其应用到特殊领域。在图像处理中主要用VC+编写图像处理程序,并调用C+图像处理的部分内部函数进行处理。关键词:数字图像处理;对比度线性展宽;灰度窗处理;直方图均衡化一、前言图像处理(image processing),用计算机对图像进行分析,以达到所需结果的技术。又称影像处理。基本内容 图像处理一般指数字图像处理。数字图像是指用数字摄像机、扫描仪等设备经过采样和数字化得到的一个大的二维数组,该数组的元素称为像素,其值为一整数,称为灰度值

3、。图像处理技术的主要内容包括图像压缩,增强和复原,匹配、描述和识别3个部分。 常见的处理有图像数字化、图像编码、图像增强、图像复原、图像分割和图像分析等。图像处理一般指数字图像处理。 灰度变换主要针对独立的像素点进行处理,通过改变原始图像数据所占有的灰度范围而使图像在视觉上得到改观,没有利用像素点之间的相互关系。因此,灰度变换处理方法也叫点运算。点运算是一种既简单又重要的技术,一幅输入图像经过点运算后将产生一幅新的输出图像,由输入像素点的灰度值决定相应的输入像素点的灰度值。二、算法分析与描述2.1 对比度扩展对比度:通俗地讲,就是亮暗的对比程度。设有一幅图,由于成象时光照不足,使得整幅图偏暗,

4、(灰度范围从0到63);或者成象时光照过强,使得整幅图偏亮,(灰度范围从200到255),我们称这些情况为低对比度,即灰度都挤在一起,没有拉开。灰度扩展的意度的目的,图2-1说明对比度扩展的原理思就是把你所感兴趣的灰度范围拉开,使得该范围内的像素,亮的越亮,暗的越暗,从而达到了增强对比度的目的。我们可以用图2-1来说明对比度扩展的原理。图2-1对比度扩展的原理图2.1中的横坐标gold表示原图的灰度值,纵坐标gnew表示gold经过对比度扩展后得到了新的灰度值。a,b,c为三段直线的斜率,因为是对比度扩展,所以斜率b1。g1old和g2old表示原图中要进行对比度扩展的范围,g1new和g2n

5、ew表示对应的新值。用公式表示为 显然要得到对比度扩展后的灰度,我们需要知道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)要注意的是,给出的三个参数必须满:(1) b*(g2old-g1old)=255;(2) (g2old-g1old) 1) I = rgb2g

6、ray(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(I);J=double(I);k2=255/(fb-fa);for i=1:m for j=1:n if I(i,j) fa J(i,j)

7、=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);四、调试过程中出现的问题及相应解决办法1.本软件大多数功能实现是针对二值图像,如果输入图像为RGB图像如:腐蚀,膨胀将无法处理显示,请先进行RGB图像转二值图像操作后再进

8、行其他处理, 图像在进行二值转换时要注意阙值的大小,以便使得图片的效果最佳。2.其次是图片的路径问题,首先得找到图片所在的位置,否则会显示错误。3.调试过程中要注意Tag的属性设置和String的属性,正确赋值,防止错误运。五、程序运行截图及其说明1.打开文件 图5.12.打开图片后如图5.2 图5.23.点击图像处理下的对比度扩展 图5.34. 点击图像处理下的灰级窗处理 图5.45. 点击图像处理下的直方均衡化 图5.56.点击文件目录下的保存进行保存 图5.6 六、简单操作手册如果装有matlab软件直接双击导入相应函数之后,点击“回车”键程序,实现相应的功能。运行程序出现界面:图6.1

9、开始界面点击文件,再点击打开,选择原图:点击图像处理,选择灰级窗/对比度线性展宽/直方均衡化 图6.3 图6.4 图6.5点击文件,选择保存,保存图像 图6.7设计总结通过本次课程设计,使我对计算机图像处理这门课程有了更深入的理解。计算机图像处理是一门实践性较强的课程,为了学好这门课程,必须在掌握理论知识的同时,加强上机实践。一个人的力量是有限的,要想把课程设计做的更好,就要学会参考一定的资料,吸取别人的经验,让自己和别人的思想有机的结合起来,得出属于你自己的灵感。 程序的编写需要有耐心,有些事情看起来很复杂,但问题需要一点一点去解决,分析问题,把问题一个一个划分,划分成小块以后就逐个去解决。

10、再总体解决大的问题。这样做起来不仅有条理也使问题得到了轻松的解决。 在这个过程中,我也曾经因为实践经验的缺乏失落过,也曾经仿真成功而热情高涨。生活就是这样,汗水预示着结果也见证着收获。劳动是人类生存生活永恒不变的话题。虽然这只是一次的极简单的课程制作,可是平心而论,也耗费了我不少的心血,这就让我不得不佩服开发技术的前辈,才意识到老一辈对我们社会的付出,为了人们的生活更美好,他们为我们社会所付出多少心血啊! 对我而言,知识上的收获重要,精神上的丰收更加可喜。让我知道了学无止境的道理。我们每一个人永远不能满足于现有的成就,人生就像在爬山,一座山峰的后面还有更高的山峰在等着你。挫折是一份财富,经历是

11、一份拥有。这次课程设计必将成为我人生旅途上一个非常美好的回忆! 通过这次的课程设计我对于专业课的学习有了更加深刻的认识,以为现在学的知识用不上就加以怠慢,等到想用的时候却发现自己的学习原来是那么的不扎实。以后努力学好每门专业课,让自己拥有更多的知识,才能解决更多的问题!参考资料1张力,VisualC+高级编程,人民邮电出版社,20022何斌,马天予,王运坚,红莲等编著,VisualC+数字图像处理,人民邮电出版社,20023白乔,左飞,把脉VisualC+,电子工业出版社,20094章毓晋.图像处理和分析基础M.北京:高等教育出版社.2002.5钟志光,鲁君,刘伟荣.VC+.NET数字图像处理

12、实例与解析M.清华大学出版社,2003.6汪翔袁辉,Visual C+实践与提高,中国铁道出版社,2001致谢首先感谢我的指导老师徐志刚老师,她在我的综合训练过程中提出了指导性的方案和架构,并指引我阅读相关的资料和书籍,使我在不熟悉的领域中仍能迅速掌握新的技术。感谢我的计算机图像处理老师徐志刚老师和在以往的基础课学习中为我打下良好的基础,这是我这次综合训练能够顺利完成的前提。还有我的同学,在设计过程与完成后对程序的测试,没有他们,也许就难以发现一些潜在的错误,在此一并表示感谢。附录function varargout = untitled(varargin)% UNTITLED M-file

13、for untitled.fig% UNTITLED, by itself, creates a new UNTITLED or raises the existing% singleton*.% H = UNTITLED returns the handle to a new UNTITLED or the handle to% the existing singleton*.% UNTITLED(CALLBACK,hObject,eventData,handles,.) calls the local% function named CALLBACK in UNTITLED.M with

14、the given input arguments.% UNTITLED(Property,Value,.) creates a new UNTITLED or raises the% existing singleton*. Starting from the left, property value pairs are% applied to the GUI before untitled_OpeningFunction gets called. An% unrecognized property name or invalid value makes property applicati

15、on% stop. All inputs are passed to untitled_OpeningFcn via varargin.% *See GUI Options on GUIDEs Tools menu. Choose GUI allows only one% instance to run (singleton).% See also: GUIDE, GUIDATA, GUIHANDLES% Edit the above text to modify the response to help untitled% Last Modified by GUIDE v2.5 09-Jan

16、-2013 11:18:34% Begin initialization code - DO NOT EDITgui_Singleton = 1;gui_State = struct(gui_Name, mfilename, . gui_Singleton, gui_Singleton, . gui_OpeningFcn, untitled_OpeningFcn, . gui_OutputFcn, untitled_OutputFcn, . gui_LayoutFcn, , . gui_Callback, );if nargin & ischar(varargin1) gui_State.gu

17、i_Callback = str2func(varargin1);endif nargout varargout1:nargout = gui_mainfcn(gui_State, varargin:);else gui_mainfcn(gui_State, varargin:);end% End initialization code - DO NOT EDIT% - Executes just before untitled is made visible.function untitled_OpeningFcn(hObject, eventdata, handles, varargin)

18、% This function has no output args, see OutputFcn.% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% varargin command line arguments to untitled (see VARARGIN)% Choose default command line output f

19、or untitledhandles.output = hObject;% Update handles structureguidata(hObject, handles);% UIWAIT makes untitled wait for user response (see UIRESUME)% uiwait(handles.figure_pj);% - Outputs from this function are returned to the command line.function varargout = untitled_OutputFcn(hObject, eventdata,

20、 handles) % varargout cell array for returning output args (see VARARGOUT);% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Get default command line output from handles structurevarargout1 = hand

21、les.output;% -function m_file_open_Callback(hObject, eventdata, handles)% hObject handle to m_file_open (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( . *.bmp;*.jpg;*.png;*.jpeg,

22、Image Files (*.bmp, *.jpg, *.png, *.jpeg); . *.*, All Files (*.*), . Pick an image); if isequal(filename,0) | isequal(pathname,0), return; end axes(handles.axes_src); fpath=pathname filename; img_src=imread(fpath); imshow(img_src); setappdata(handles.figure_pj,img_src,img_src); % -function m_file_sa

23、ve_Callback(hObject, eventdata, handles)% hObject handle to m_file_save (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)filename, pathname = uiputfile(*.bmp,BMP files;*.jpg;,JPG files, Pick an Image); if isequal(

24、filename,0) | isequal(pathname,0) return;%如果点了“取消” else fpath=fullfile(pathname, filename);%获得全路径的另一种方法 end img_src=getappdata(handles.figure_pj,img_src);%取得打开图片的数据imwrite(img_src,fpath);%保存图片 % -function m_file_exit_Callback(hObject, eventdata, handles)% hObject handle to m_file_exit (see GCBO)% ev

25、entdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)close(handles.figure_pj); % -function m_file_Callback(hObject, eventdata, handles)% hObject handle to m_file (see GCBO)% eventdata reserved - to be defined in a future version of

26、 MATLAB% handles structure with handles and user data (see GUIDATA)% -function m_image_Callback(hObject, eventdata, handles)% hObject handle to m_image (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% -function

27、m_image_hj_Callback(hObject, eventdata, handles)% hObject handle to m_image_hj (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)img_src=getappdata(handles.figure_pj,img_src); fa=45;fb=160;img_src=rgb2gray(img_src);m,n=size(img_src);J=do

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1