图像颜色RGB调整的MATLAB实现.docx
- 文档编号:11186918
- 上传时间:2023-02-25
- 格式:DOCX
- 页数:24
- 大小:411.71KB
图像颜色RGB调整的MATLAB实现.docx
《图像颜色RGB调整的MATLAB实现.docx》由会员分享,可在线阅读,更多相关《图像颜色RGB调整的MATLAB实现.docx(24页珍藏版)》请在冰豆网上搜索。
图像颜色RGB调整的MATLAB实现
摘要之勘阻及广创作
创作时间:
二零二一年六月三十日
Matlab是现今最优秀的科技应用软件之一,它一强年夜的科学计算与可视化功能,简单易用,开放式可扩展环境,特别是所附带的30多种面向分歧领域工具箱支持,使得它在许多科学领域中成为计算机辅助设计与分析,算法研究和应用开发的基本工具盒首选平台在图像处置中,Matlab也获得了广泛的应用,例如图像变换,设计FIR滤波器,图像增强,四叉树分解,边缘检测,小波分析等等.分歧的颜色空间在描述图像的颜色时偏重点分歧.如RGB(红、绿、蓝三原色)颜色空间适用于黑色监视器和黑色摄象机,HSI(色调、饱和度、亮度)更符合人描述和解释颜色的方式(或称为HSV,色调、饱和度、亮度),CMY(青、深红、黄)、CMYK(青、深红、黄、黑)主要针对黑色打印机、复印机等,YIQ(亮度、色差、色差)是用于NTSC规定的电视系统格式,YUV(亮度、色差、色差)是用于PAL规定的电视系统格式,YCbCr(亮度单一要素、蓝色与参考值的差值、红色与参考值的差值)在数字影像中广泛应用.
黑色图像的处置有时需要将图像数据在分歧的颜色空间中暗示,因此,图像的颜色空间之间的转换成为一项有意义的工作.其中RGB在颜色空间转换中其关键作用,是各个空间转换的桥梁.Matlab中的颜色空间转换只涉及到了RGB、HSV、YCbCr、YIQ等,没有包括lαβ和其它颜色空间的转换.
关键字:
Matlab,图像处置,RGB
武汉理工年夜学本科生能力拓展训练任务书
学生姓名专业班级:
指导教师:
工作单元:
自动化学院
题目:
图像颜色RGB调整的MATLAB实现
初始条件:
PC机,MATLAB
要求完成的主要任务:
对24bits黑色图像的颜色,使用RGB颜色模型,来对其进处置.
设计图形界面(GUI)法式,使用三个滑动条实现R,G,B各分量上下可调.调整范围在0到1之间,即:
滑动条被拖动时,发生一个0到1之间的系数,乘以该分量的原始值,获得调整后的分量值.显示原始图像,和调整后的图像.同时显示原始的R,G,B三分量的灰度图像.
任务安插:
(1)设计任务及要求分析
(2)方案比力及论证说明
(3)系统原理论述,写入设计方案及结构图
(4)软件设计说明:
软件思想,流程图,源法式及注释
(5)调试记录及结果分析
(6)总结
(7)参考资料5篇以上
(8)附录:
法式清单
时间安插:
6月25日安插设计任务
6月28日收集资料,方案选择
7月1日法式设计
7月5日-8日法式调试
7月8日-撰写陈说
9月7日交设计陈说
指导教师签名:
年月日
系主任签(或责任教师)签名:
年月日
摘要
MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两年夜部份.
MATLAB是matrix和laboratory两个词的组合,意为矩阵工厂(矩阵实验室
图1-1MATLAB工作界面
).是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式法式设计的高科技计算环境.它将数值分析、矩阵计算、科学数据可视化以及非线性静态系统的建模和仿真等诸多强年夜功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必需进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很年夜水平上解脱了传统非交互式法式设计语言(如C、Fortran)的编纂模式,代表了现今国际科学计算软件的先进水平.
MATLAB和Mathematica、Maple并称为三年夜数学软件.它在数学类科技应用软件中在数值计算方面首屈一指.MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的法式等,主要应用于工程计算、控制设计、信号处置与通讯、图像处置、信号检测、金融建模设计与分析等领域.
MATLAB的基本数据单元是矩阵,它的指令表达式与数学、工程中经常使用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷很多,而且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强年夜的数学软件.在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持.可以直接调用,用户也可以将自己编写的实用法式导入到MATLAB函数库中方便自己以后调用,另外许多的MATLAB快乐喜爱者都编写了一些经典的法式,用户可以直接进行下载就可以用.
数字图像处置,通俗地讲是指应用计算机以及数字设备对图像进行加工处置的技术.
2.
20世纪20年代,图像处置技术首次应用于改善伦敦到纽约之间的海底电缆传送图片的质量.
1964年,美国喷气推动实验室用计算机胜利地对4000多张月球照片进行处置.
70年代中期,随着离散数学理论的创建和完善,数字图像处置技术获得了迅猛的发展,理论和方法不竭完善.
90年代,随着个人计算机进入家庭,硬件价格不竭下降,数字世界逐渐进入人们的生活.
2.
图像处置技术包括:
1.图像信息的获取:
为了在计算机上进行图像处置,必需把作为处置对象的模拟图像转换成数字图像信息.图像信息的获取,一般包括图像的摄取、转换及数字化等几个步伐.该部份主要由处置系统硬件实现.
2.图像信息的存储于交换:
由于数字图像信息量年夜,且在处置过程中必需对数据进行存储和交换,为了解决年夜数据量及交换与传输时间的矛盾,通常除采纳年夜容量机内存存储器进行并行传送,直接存储访问外,还必需采纳外部磁盘、光盘及磁带存储方式,从而到达提高处置的目的.该部份组要功能也由硬件完成.
3.数字图像处置:
数字图像处置,即把在空间上离散的,在幅度上量化分层的数字图像,在经过一些特定命理模式的加工处置,以到达有利于人眼视觉或某种接收系统所需要的图像过程.
4.数字图像通讯:
80年代以来,由于计算机技术和超年夜规模集成电路技术的巨年夜发展,推动了通讯技术(包括语言、数据、图像)的飞速发展.因为图像通讯具有形象直观、可靠、高效率等一系列优点,尤其是数字图像通讯比模拟图像通讯更具抗干扰性,便于压缩编码处置和易于加密,因此在图像通讯工程中数字处置技术获得广泛应用.
5.图像的输出和显示:
数字图像处置的最终目的是为了提供便于人眼或接收系统解释和社别图像,因此图像的输出和显示很重要.一般图像输出的方式可分为硬拷贝,诸如照相、打印、扫描鼓等,还有所谓的软拷贝,诸如CRT监视器及各种新型的平板监视器等.
3.图像处置的内容
图像处置的内容包括:
1.图像数字化:
图像数字化即图像采样和量化,是指把连续的图像信号酿成离散的数字信号,以适应计算机的处置.
2.图像编码压缩:
把数字化的图像数据按一定例则进行排列或运算过程,称为图像编码.利用图像自己的内在特性,通过某种特殊的编码方式,到达减少原图像数据时空占用量的处置叫做图像压缩编码.
3.图像变换:
一般指利用正交变换的性质和特点,将图像转换到变换域中进行处置,而且年夜部份变换都有快速算法.
4.图像增强:
图像增强的目的是突出图像中所感兴趣的部份,如强化图像的高频分量,可使图像中物体轮廓清晰,细节明显.
5.图像复原:
图像复原是尽可能恢复图像的原本面貌,是对图像整体而言,而且在复原处置时,往往必需追求降质原因,以便“有的放矢”,而增强往往是局部.
6.图像分割:
将图像中包括的物体,按其灰度或几何特性分割,并进行处置分析,从中提取有效分量、数据等有用信息.这是进一步进行图像处置如模式识别、机器视觉等技术的基础.
7.图像分类:
简单地说就是在图像分割的基础上,进行我体的判决分类.
8.图像重建:
它是对一些三维物体,应用x射线、超声波等物理方法,取得物体内部结构数据,再将这些数据进行运算处置而构成物体内部某些部位的图像.目前图像重建最胜利的例子是CT技术(计算机断层扫描成像技术)、黑色超声波等.
3.RGB模型
RGB模型也称为加色法混色模型.它是以RGB三色光互相叠加来实现混色的方法,因而适合于显示器等发光体的显示.其混色规律是:
以等量的红、绿、蓝基色光混合时.如果是三原色光中的两种色光(注意,不是颜料)进行等比例混合的话,那么,获得的结果是品红、黄、青三色光.
红+绿=黄
红+蓝=品红
绿+蓝=青
红+绿+蓝=白
三种基色光全无=黑
这是色光混合,称为加色混合法.
加色法的混色规律可用图暗示.
其配色方程描述:
F(物体颜色)=R(红色的百分比)+G(绿色的百分比)+B(蓝色的百分比)
如果就是这三种颜料相混的话,那么,年夜体上,红+绿=暗灰红;红+蓝=紫色;绿+蓝=青绿色.
这是色彩混合,称为减色混合法.
切记,色光混合跟颜料混合是分歧性质的.
界面设定
1.在matlab命令窗口中运行guide命令,来翻开GUIDE界面,如下:
图4-1GUIDE界面
2.然后,选择空模板(BlangGUI),点击OK,即可翻开GUIDE的设计界面,如下:
图4-2GUIDE设计界面
3.点击工具栏上的菜单编纂器(MenuEditor),翻开菜单编纂器,如下:
图4-3菜单编纂器
4.在MenuBar中新建一个菜单项,名字为“文件”,其他设置请看下图:
图4-4菜单属性设置
5.在“文件”菜单下添加菜单项:
“翻开”,“保管”,“退出”.见下图:
图4-5完成后的菜单编纂器
6.保管我的界面为pjimage.fig.保管完毕之后,会自动翻开pjimage.m文件,而我们所有的法式都是要写在这个M文件里面的.在界面上,单击鼠标右键选择“PropertyInspector”,即可翻开属性窗口.设置以后Figure窗口的Tag属性为:
figure_pjimage,窗口的题目(Name属性)为:
图像处置图像处置实例,如下:
图4-6GUI界面属性设置
7.然后点击GUI界面坐侧的Axes按钮在界面设置出两个坐标空间,并用上面的方法将两个坐标空间的Tag属性改为“axes_src”和“axes_dst”;然后点击GUI界面坐厕的pushButton按钮,在界面上设置两个按钮1,并用上面的方法将两个按钮的Tag属性分别设置为“pushbutton_cf”和“pushbutton_hz”,String属性分别设置为“DCTbutton”和“HZButton”,BabckgroundClor属性分别设置为黄色和红色.设置完后进行保管,获得界面如下图上所示:
图4-7设置完成的GUI界面
设计好图形界面(GUI)法式,使用三个滑动条实现R,G,B各分量上下可调,即是如下图所示.
图5-1原始图像和调节后的图像
改变其红绿蓝系数,获得如下图
图5-2改变滑动条后的调整图像
至此,该过程结束,到达题目的要求,使用三个滑动条实现R,G,B各分量上下可调.调整范围在0到1之间,显示原始图像,和调整后的图像.同时显示原始的R,G,B三分量的灰度图像.图像颜色RGB调整的MATLAB实现完成.
总结
本次的基础强化训练结束后,我感触颇深.想到万事开头难,简直是这样的.刚开始接触MATLAB时,感觉什么都不懂,因为这个软件的复杂性远远超越了其他的软件,全英文不说,还比力繁琐.其实本次课程设计的难点就是在法式编程上面和软件的使用上.如果以前没用过这个软件,我们会很难下手,可是通过慢慢的熟悉这个软件后,发现其实主要的难点就是在法式上了.如果没有法式还是很难做出来的.因为本次课设所涉及到的知识相Matlab的GUI界面以及所涉及到的图像处置知识其实都只是皮毛.
在做起来后,发现网上查阅资料是很困难的,因为网上资料不全,所以只好查阅相关资料,查阅相关MATLAB书籍,在有了相关的知识储藏后,开始着手设计,一次次是失败中找原因,有时候找不出来真的是很急,这是候我很感谢同学的无私帮手,关于好多问题,我请教的他们,没有同学的辅佐这次基础强化训练真的是很难做出来的.当最后法式写完,把仿真做完时,我终于长长的舒了口气.
本次基础强化训练年夜年夜的加强了我对MATLAB软件的熟悉水平和处置问题能力,同时也熬炼了我查阅相关资料的能力和自我思考能力.
参考文献
[1].李显宏《MATLAB7.x界面设计与编译技巧》电子工业出书社2006
[2].飞思科技产物研发中心《MATLAB6.5辅助图像处置》电子工业出书社2003
[3].罗军辉冯平《MATLAB7.0在图像处置中的应用》机械工业出书社2007
[4].秦襄培郑贤中《MATLAB图像处置宝典》电子工业出书社2011
[5].贺兴华周媛媛《MATLAB7.x图像处置》人民邮电出书社2006
附录
法式清单:
functionvarargout=pjimage(varargin)
%PJIMAGE,byitself,createsanewPJIMAGEorraisestheexisting
%singleton*.
%
%H=PJIMAGEreturnsthehandletoanewPJIMAGEorthehandleto
%theexistingsingleton*.
%
%PJIMAGE('CALLBACK',hObject,eventData,handles,...)callsthelocal
%functionnamedCALLBACKinPJIMAGE.Mwiththegiveninputarguments.
%
%PJIMAGE('Property','Value',...)createsanewPJIMAGEorraisesthe
%existingsingleton*.Startingfromtheleft,propertyvaluepairsare
%appliedtotheGUIbeforepjimage_OpeningFcngetscalled.An
%unrecognizedpropertynameorinvalidvaluemakespropertyapplication
%stop.Allinputsarepassedtopjimage_OpeningFcnviavarargin.
%
%*SeeGUIOptionsonGUIDE'sToolsmenu.Choose"GUIallowsonlyone
%instancetorun(singleton)".
%
%Seealso:
GUIDE,GUIDATA,GUIHANDLES
%Edittheabovetexttomodifytheresponsetohelppjimage
%LastModifiedbyGUIDEv2.506-Sep-201316:
11:
48
%Begininitializationcode-DONOTEDIT
gui_Singleton=1;
gui_State=struct('gui_Name',mfilename,...
'gui_Singleton',gui_Singleton,...
'gui_OpeningFcn',@pjimage_OpeningFcn,...
'gui_OutputFcn',@pjimage_OutputFcn,...
'gui_LayoutFcn',[],...
'gui_Callback',[]);
ifnargin&&ischar(varargin{1})
gui_State.gui_Callback=str2func(varargin{1});
end
ifnargout
[varargout{1:
nargout}]=gui_mainfcn(gui_State,varargin{:
});
else
gui_mainfcn(gui_State,varargin{:
});
end
%Endinitializationcode-DONOTEDIT
%---Executesjustbeforepjimageismadevisible.
functionpjimage_OpeningFcn(hObject,eventdata,handles,varargin)
setappdata(handles.figure_pjimage,'img_src',0);
%Thisfunctionhasnooutputargs,seeOutputFcn.
%hObjecthandletofigure
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
%varargincommandlineargumentstopjimage(seeVARARGIN)
%Choosedefaultcommandlineoutputforpjimage
handles.output=hObject;
%Updatehandlesstructure
guidata(hObject,handles);
%UIWAITmakespjimagewaitforuserresponse(seeUIRESUME)
%uiwait(handles.figure_pjimage);
%---Outputsfromthisfunctionarereturnedtothecommandline.
functionvarargout=pjimage_OutputFcn(hObject,eventdata,handles)
%varargoutcellarrayforreturningoutputargs(seeVARARGOUT);
%hObjecthandletofigure
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
%Getdefaultcommandlineoutputfromhandlesstructure
varargout{1}=handles.output;
%--------------------------------------------------------------------
%---Executesonslidermovement.
functionslider1_Callback(hObject,eventdata,handles)
%hObjecthandletoslider1(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
%Hints:
get(hObject,'Value')returnspositionofslider
%get(hObject,'Min')andget(hObject,'Max')todeterminerangeofslider
globalR
globalG
globalB
globalval1
globalval2
globalval3
val1=get(hObject,'Value');
set(handles.text1,'String',num2str(val1));
axes(handles.axes3);
imshow(val1*R);
axes(handles.axes4);
imshow(val2*G);
axes(handles.axes5);
imshow(val3*B);
axes(handles.axes2);
I=cat(3,val1*R,val2*G,val3*B);
imshow(I);
%---Executesduringobjectcreation,aftersettingallproperties.
functionslider1_CreateFcn(hObject,eventdata,handles)
%hObjecthandletoslider1(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesempty-handlesnotcreateduntilafterallCreateFcnscalled
%Hint:
slidercontrolsusuallyhavealightgraybackground.
ifisequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor',[.9.9.9]);
end
%---Executesonslidermovement.
functionslider2_Callback(hObject,eventdata,handles)
%hObjecthandletoslider2(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
%Hints:
get(hObject,'Value')returnspositionofslider
%get(hObject,'Min')andget(hObject,'Max')todeterminerangeofslider
globalR
global
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图像 颜色 RGB 调整 MATLAB 实现
![提示](https://static.bdocx.com/images/bang_tan.gif)