第一篇:图像处理在足球机器人方面的应用
数字图像处理是指将图像信号转换成数字信号并利用计算机对其进行处理的过程。机器人视觉作为智能机器人的重要感觉器官,主要进行三维景物理解和失败,是目前处于研究中的开放课题。机器视觉主要用于军事侦察、危险环境的自主机器人,邮政、医院和家庭服务的智能机器人,装配线工件识别,定位太空机器人的自动操作等。下面一篇论文是关于图像处理在足球机器人方面的应用说明: 图像处理在足球机器人系统中的应用
蒙 梅(北京交通大学计算机与信息技术学院 北京 100044)
【摘要】机器人是目前综合科学研究领域的前沿课题,足球机器人比赛是实现这一科学研究的有效方式,其中图像处理是足球机器人的首要研究课题。在足球机器人比赛中,要保证及时迅速地为决策系统提供有效信息,对图像处理的实时性有较高要求。本文将阐述如何把BMP图像的游程编码(RLE)压缩格式应用于足球机器人的图像处理数据结构中,并以实验证明:游程编码适用于足球机器人,能够使图像处理的运行效率和效果满足足球机器人系统协调工作的要求。
【关键词】图像处理 足球机器人 游程编码(RLE)引言
随着科学技术日新月异的发展,智能机器人研究及应用已经成为人工智能研究的热点。足球机器人是国际上广泛开展的一项高科技对抗活动,比赛中机器人可以自动地踢足球。要在有各种干扰的环境下解决好足球机器人的协作,必须解决实时图像识别处理、人工智能协作控制、实时动态策略、轨迹规划和无限通信等一系列问题。毫无疑问,智能机器人的眼睛是其重要的“感知”来源,只有得到正确的信息,才有可能进行正确的决策处理,进而进行正确的操作。因此,图像识别处理是智能机器人首先要解决的问题。图像处理原理
数字图像处理(Digital Image Processing)又称为计算机图像处理,它是指将图像信号转换成数字信号并利用计算机对其进行处理的过程。常用的图像处理研究方向有图像变换、图像编码压缩、图像增强和复原、图像分割和图像识别、图像描述、图像分类(识别)等。在足球机器人的图像处理中,主要应用的研究领域为图像分割和图像编码压缩。
2.1 图像分割
图像分割就是将图像划为一些区域,在同一区域内,图像的特征相近;而不同的区域,图像特征相差较远。图像特征可以是图像本身的特征,如像素的灰度、边缘轮廓和纹理等。图像的作用是从图像中提取有用的信息。在图像分析过程中,一般首先要对所给的图像进行分割,再对分割的区域作适当描述,然后才能对图像作某种分析。可见,图象分割是图象分析前的一个重要处理步骤。
图像分割是图像处理的基础,虽然人们提出了很多种图像分割方法,但没有任何一种图像分割方法能够适用于所有的图像。如何选择分割方法,主要是根据实际的应用环境和具体目标而定。
阈值化方法因其简单、计算量小、性能较稳定而成为图像分割中应用最广泛的分割技术。对于图像的直方图呈现明显的两块或若干块不同形状分布时,阈值可以选择在两分布的交界处。所以说,阈值法主要适用于目标和背景差别较大的图像区域划分。
2.2 图像编码压缩
图像编码压缩技术可减少描述图像的数据量(即比特数),以便节省图像传输和处理时间,减少存储容量。压缩可以在不失真的前提下获得,也可以在允许的失真条件下进行。编码是压缩技术中最重要的方法,它在图像处理技术中是发展最早且比较成熟的技术。
有些图像,尤其是计算机生成的图形往往有许多颜色相同的图块。在这些图块中,许多连续的扫描行都具有同一种颜色,在这种情况下就可以不需要存储每一个像素的颜色值,而仅仅存储一个像素值以及具有相同颜色的像素数目。这种编码称为行程编码,或称游程编码,常用RLE(Run-Length Encoding)表示。游程编码技术相当直观和经济,运算也相当简单,因此解压缩速度很快。RLE压缩编码尤其适用于计算机生成的图形图像,对减少存储容量很有效。
对于足球机器人系统,是通过摄像机或摄像头获取图像,并且图形的颜色也是有限的,根据游程编码的原理,在足球机器人系统中应用RLE能有效压缩图像数据。
2.3 图像处理在足球机器人系统中的应用要求
在足球机器人系统中,比赛的特定规则:在摄像机所获取的比赛场地范围内,颜色是有限的,绿色(场地)、橙色(球)、蓝或黄色(队标)、粉红或紫色(判断位置和方向)。也就是说,每次采集卡所获得的图像中,只要明确这六种颜色的位置方向,为下一步人工智能协作模块做准备。
根据比赛的实际,系统的图像处理要实现的目标是:摄像头或摄像机在比赛进行中,在一定间隔内获取比赛场地图像,通过采集卡初步处理后,返回此时刻的比赛场地上的图像,将图像进行处理最终产生一个表,任何一个颜色,通过查询这个表,可获知这个颜色在图像中的位置。
因此,根据系统的实际要求,采用改进的阈值分割法和游程编码压缩进行图像处理是有效并可实现的。图像处理如何在足球机器人比赛中实现
足球机器人的视觉系统在实时性、抗干扰性方面有较高的要求,需要快速、稳定的图像处理方法,而图像处理的实现等于处理算法和相应的数据结构。一个图像的数据结构可有多种,既要尽量地减少图像所占的内存,也不能使图像数据丢失,更不能影响处理速度。以下将分析在足球机器人中如何利用由阈值分割和游程编码获得的数据结构,如何进行图像处理,并以实验进行了论证。
3.1 阈值化初步图像分割
由于比赛场地的光线原因,由同种图像分割算法得到的颜色阈值也不尽相同,因此,比赛前均需要实地进行颜色采样,以形成此时比赛所需的颜色阈值表。方法:将比赛规定的每一种颜色设定一代表数值,在摄像机下进行分别采样,通过图形像素域值化算法,形成并保存对以上这6种颜色较为精确的阈值范围,其他的颜色均属于“未知颜色”。将所有颜色的阈值得到一个三维数组:
YUVClass [256][COLORNUMBER][3]
256 代表阈值所能达到的范围
COLORNUMBER 为采样的颜色总数(包括未知颜色)记录每个像素的Y,U,V信息
也就是说,通过这个YUVClass表,可以判断从摄像头获取的图像的某个像素点,其颜色属于所采集颜色的哪一种,这样,图像实际上被分割为6种颜色的像素。
3.2 图像像素处理
比赛进行时,摄像头或摄像机在一定时间片内获取图片l*w,通过计算机的采集卡进行处理,获得的图像的数据是一字节数组,每一个像素的RGB值占据数组的3个单元,即一幅像素为l*w的图像,经采集卡转换数据后,l*w个像素信息以长度为l*w*3的字节数组来存储。为了方便对表YUVClass的查寻,需进行处理,即将格式为RGB的图像数组转换成格式为YUV的数组。其转换公式为:
Y=0.299*R+0.587G+0.144*B
U=(-0.167)*R+(-0.331)*G+0.500*B+127
V= 0.500*R+(-0.419)*G+(-0.081)*B+127
也就是说,对每个像素的Y/U/V值分别查询YUVClass表,如果这三个值在表中都为确定的,那么这个像素就为采集颜色的一种,否则就为“未知颜色”,这样,就将一幅长度为l*w*3的图像数据信息转换成长度为l*w的字节数组 m_colorimg[l*w],从而即获得了一幅多值图像,图像中的每个像素点的颜色值取自0~6。
根据实际的系统需求,我们并不需要存储图像每一个像素,只需要获得这6种颜色的位置。因此,利用游程编码的原理实质是,将获得的这个多值图像转换成由数据结构run[]为单元的一维数组存储的格式,其数据结构如下:
struct run{
public:
short x,y,width;// run结构中行像素的位置和宽度
cclass color;// run结构的颜色标志
int parent,next;// run在链表中的上下节点
};
这个数据结构实质是将连续的同种颜色的行像素点形成一个run结构。事实上,在足球机器人比赛中,由于比赛场地的颜色大多是连续性的,作为场地的绿色占了很大的比重,但是决策主要需要的是本方队员、对方队员、球和球门的位置。这个数据结构所需的图像信息量比起多值图像的存储方法,在没有减少主要有效信息量的情况下,存储量却能大大地减少。
对所得的这个run结构链表进行四连通操作,即将垂直、水平方向相联的同种颜色的run[]结构的父节点设为最早的一个。在图像逻辑上,就将图像进一步的分割为6种颜色区域。
3.3 图像有效信息的处理
run[]结构仅仅是对图像像素的整理,他只记录了采集的像素颜色信息,如果要作为足球机器人的位置判断,还需要与相关数据结合。为了易于下一步的处理,将已经生成的run[]结构再次转换为region[]结构,转换如下:
struct region{
int color;//颜色编号
int x1,y1,x2,y2;//横、纵坐标的最大值和最小值
float cen_x,cen_y;//一个region单元的横、纵坐标的质心(位置判断)
int area;//像素面积
int run_start;// 这个region结构的第一run结构
int iterator_id;// 唯一ID号
region *next;//链表中的下一个region结构
};
region结构最重要的一个数据是region单元的横、纵座标的质心,这个质心在满足一定的条件下,就是要所需要的球、本方队员、对方队员、球门的位置等信息。
每一个颜色就是一个region结构链表,在产生链表的同时,依面积由小到大的形成自己的链表。最后,将所有6种颜色的6个region结构链表,形成color_class_state表,把链表的头指针赋予颜色信息的数据结构color_class_state,如下:
struct color_class_state{//存储颜色信息的数据结构
region *list;//每种颜色的region链表的表头指针
int num;//每种颜色的region结构数
int min_area;// 一个region结构的最小像素面积数
rgb color;// 每种颜色的RGB值
char *name;// 颜色名 }
到此,由采集卡所获得的图像,进行数据处理完毕。任何一种已采样的颜色在图像中的位置,都可以从color_class_state表中迅速得到。比如球为桔色,通过其颜色名返回其region链表的头指针,那么就可以通过满足条件下的质心得到球的位置,再将位置信息传给决策系统,即可判断机器人下一刻要运动的方向和速度。就如足球赛场是时刻变化的,采集卡也是不断地将新的图像采集到图像缓冲区中,而图像处理过程是动态进行的,其数据结构的各个表也是在不断地更新中。
实验表明,将游程编码压缩格式和阈值化分割运用在足球机器人的图像处理系统中,不仅可以大大减少图像数据信息所占的内存,机器人也可以快速地识别各种要求的目标位置,并且将位置的信息及时传送给决策系统来分析判断,使整个足球机器人系统能够形成一个协和运作的多职能体系统。结束语
图像处理在现今的应用越来越广泛,其领域的研究和实现是多样的,任何一个原理的优越性无法一概而论,具体的需求,环境,程序下,不同的图像处理方法有其自己的特殊适用性。在足球机器人系统中,游程编码和阈值化分割的原理思想是贯穿于整个图像处理中,并且是相互作用的。本文在吸收了原理的实质基础上,根据比赛要求,改进了相应得图像处理算法和数据结构,希望对足球机器人的研究有一定帮助。
(收稿日期:2006-06-23;Email:onlymengmei@163
第二篇:PHOTOSHOP图像处理在刑事物证中的应用
摘 要:随着科技的不断进步,数字技术得到广泛的发展和应用,现实生活中的很多信息都可以以数字形式的数据进行处理和储存,数字图像就是这种以数字形式进行储存和处理的图像。
关键词:物证检验;应用
随着科技的不断进步,数字技术得到广泛的发展和应用,现实生活中的很多信息都可以以数字形式的数据进行处理和储存,数字图像就是这种以数字形式进行储存和处理的图像。利用photoshop 等图像处理软件可以对数码案件照片进行后期的编排和处理,轻松地将数码痕迹图像处理为所需用比例物证检验照片;将数码照相技术与指纹自动识别系统相连接,可使数码指纹照片直接进入指纹自动识别系统中进行校验比对,迅速锁定作案嫌疑人。大大减轻了刑事技术人员的工作量和工作时间,为侦查破案争取了宝贵的时间。
数字图像在近几年发展以及在公安工作中的应用
数字图像是在刑事物证中是一种视听资料,在1997年的刑事诉讼法修改后,视听资料被列为一种独立的证据使用。在下文中所指的数字图像是指借助现代化精密仪器(如数字相机、数字摄像机、计算机)所提供的信息资料,它与视听资料中的录像资料相比较,其表现形式只是单幅图像和多幅连续图像之别,两者只是表现形式不同,其本质是一样的。作为现在化公安工作的发展,数字图像在公安的基层办公中越来越多地被应用。其优点在于对用数码相机拍摄犯罪现场照片,在拍摄时可以边拍摄边察看,不满意的照片可以当场删除进行修改。还方便与保存、记录以及日后的分析案情等等。在物证中,而使用数码技术可随时察看影像质量,根据需要改变拍照条件并及时做出调整,大大缩短了照片的制作周期,使痕迹物证得到及时地检验和鉴定。利用数字技术还可以为痕迹物证照相设定拍照比例,在计算机上测定痕迹物证的大小、深浅以及特征点之间的方位、距离,把得到的数据与样本进行比较,做出科学的鉴定结论。并且能对照片质量进行优化,模糊的经过处理可提高清晰度,反差小的经过影调调整可提高反差,有彩色背景的痕迹可以改变背景的颜色使痕迹清晰可见,达到分色照相的目的。对于刑事物证中由于客观的因素,导致的物证、人犯、痕迹的模糊变形,造成图像不容易辨认、认定时,还可以利用数字技术进行修改阻碍辨认的像素,是照片带到相应的要求。说到数字技术,现在应用较为广泛的就是photoshop软件了。
photoshop软件在刑事物证中的应用实例
photoshop软件是abode公司开发的图像处理软件,在我们日常的图像处理中应用非常的广泛,其对图像的处理功能非常的强大,可以处理各种图像问题。适应于公安刑事技术工作图像的各个方面。本文所用到的photoshop版本photoshop cs3。
在日常文检工作中,对痕迹特征、文件材料的检验,一般是借助尺子、放大镜或者一些专业的辅助工具进行检验对比,这些工具无疑给我们的检验工作带来了很多的不方便,并且也存在许多不足之处:1)传统的用眼观察、手工测量不够精确;2)用放大镜、显微镜观察时,眼睛容易疲劳且只能观察到很小的局部;3)检验时所观察到的情况固定困难(照相);4)传统检验方法比较单一。运用photoshop借助电脑和扫描仪检验印刷品和印文既操作方便、准确、直观,又便于对放大、处理过的材料打印固定,而且对检材不会造成丝毫磨损、破坏。在应用了photoshop软件后,我们可以对痕迹特征、文件材料的检材进行局部的放大、将其中某一颜色图案分离出来、进行重叠比对检验、增加图文同底色(背景的)反差来提高所检部位的清晰度、精确测量检材的搭配比例特征。(文中所有的图片格式为.psd 注:psd 文件为photoshop 的缺省文件格式,它可以将所编辑图像的所有有关图层、通道等信息记录下来。)
选择“图像”,“模式”,再选中“cmyk 颜色”,然后点击“通道”,鼠标右击“洋红”通道,选择“删除通道”,接着鼠标右击“黄色”通道,选择“删除通道”命令,便可以达到去朱存墨的效果了。(如图1 所示)选择“图像”,“模式”,再选中“lab 颜色”,然后点击“通道”,鼠标右击“明度”通道,选择“删除通道”命令,接着鼠标右击“b”通道,选择“删除通道”命令,便可以达到去墨存朱的效果了。(如图2 所示)
我们在检验指纹特征、文件材料中有时某个部位(局部)因为拍摄或者其他的客观原因造成图文不够清晰时,我们可以在软件中执行“图像/ 调整、曲线”命令,打开“曲线”对话框,根据文件的模式,选择“通道”类型,通过调整曲线使图像中某个部位反差增大,使整个图文更加清晰。这种功能是一些专业比对仪所无法达到的。我们还可以通过调整色彩的平衡,使所选颜色的图案更加突出。操作时,执行“图像\\调整\\色彩平衡”命令,在“色彩平衡”对话框中,选择“暗调”、“中间调”或“高光”中的一个着重进行色调范围的更改,通过调整标注红、绿、蓝的颜色条上的三角形滑块的位置调整色彩平衡,从而达到增强某一(几)种颜色,减少“颜色轮”中相对应的几
(一)种颜色,使图文同底色反差加大,使某种颜色的图文更加清晰可见。如在检验时出现印文同文字交叉情况,我们可用此方法隐去印文或文字,使文字或印文更清晰。
我们在痕迹检验中,有时候会对检材与样本是否同一进行利用重影也对接技术进行比对。进行比对时,大都需要用一些专用的痕迹比对仪器,这些仪器不是每一个公安部门所能拥有的,但是,利用了photoshop技术,可以处理一些简单数字图像。下面我那痕迹检验中的文件检验来举例:
重影比对。打开样本的图像后,选中“图层”调板,鼠标右键单击“背景”图层,选择“复制图层”命令,将新图层命名为“样本一”图层,保存文件,建立重影比对工作文件。打开检材文件,选择“选择(菜单)”、“全选(选项)”、将样本印文图像全部选中。选择“移动工具”,将样本印文选区拖至样本图像窗口,成为图层1,关闭检材文件窗口(释放内存)。将图层1 重命名为“检材”图层,并将“模式选项”设为“正片叠底(模式)”。选择“编辑、菜单”、“变换(选项)”、选中“旋转(子选项)”。即可拖动并旋转检材印文与样本印文进行重影比对检验了(如图4 所示)。比对完后别忘了保存文件。
第三篇:matlabGUI图像处理
图像处理
一、实习任务
利用MATLAB里面的一些特定函数和GUI可视化图形界面设计一个属于自己的photoshop,使其完成简易的放大、缩小、截图以及直方图统计等功能。
二、实习内容
1、布局设计
2、程序设计 %文件打开
[name,path]=uigetfile({'*.*';'*.bmp';'*.tif';'*.png';'*.gif';'*.jpg'},'载入图像');if isequal(name,0)|isequal(path,0)errordlg('没有选中文件','出错');return;else x=imread([path,name]);axes(handles.axes1);imshow(x);handles.img=x;handles.noise_img=x;guidata(hObject,handles)end
%文件保存
[filename,pathname] = uiputfile({'*.*';'*.bmp';'*.tif';'*.png';'*.gif';'*.jpg'},'图片保存为');if isequal([filename,pathname],[0,0])errordlg('没有保存','出错');return;else file=strcat(pathname,filename);(handles.axes2);i=getimage(gca);imwrite(i,file);end
%文件退出 clc;close all;close(gcf);
%灰度处理
axes(handles.axes2);if isrgb(handles.img)y=rgb2gray(handles.img);%RGB•••••••••• imshow(y);else msgbox('这已经是灰度图像','转换失败');end %截图
set(handles.axes2,'HandleVisibility','ON');axes(handles.axes2);y=imcrop(handles.img);imshow(y);handles.Timage=y;
%双线性缩小
axes(handles.axes2);prompt={'输入放大倍数:'};defans={'0.2'};p=inputdlg(prompt,'输入放大倍数',1,defans);p1=str2num(p{1});y=imresize(handles.img,p1,'bilinear');%法缩小 imshow(y);
%双线放大
axes(handles.axes2);prompt={'输入放大倍数:'};defans={'2'};p=inputdlg(prompt,'输入放大倍数',1,defans);p1=str2num(p{1});y=imresize(handles.img,p1,'bilinear');%值法放大 imshow(y);
%上下翻转
最近邻插值最近邻插axes(handles.axes2);x=(handles.img);if isrgb(handles.img)for k=1:3 y(:,:,k)=flipud(x(:,:,k));%上下翻转函数 end imshow(y);else x=(handles.img);y=flipud(x);imshow(y);end
%左右翻转
axes(handles.axes2);if isrgb(handles.img)x=(handles.img);for k=1:3 y(:,:,k)=fliplr(x(:,:,k));%左右翻转函数 end imshow(y);else x=(handles.img);y=fliplr(x);imshow(y);end
%左转90度
axes(handles.axes2);x=(handles.img);y=imrotate(x,90);imshow(y);
%右转90度
axes(handles.axes2);x=(handles.img);y=imrotate(x,-90);imshow(y);
%任意角度旋转 axes(handles.axes2);prompt={'输入参数1:'};defans={'30'};p=inputdlg(prompt,'输入参数',1,defans);p1=str2num(p{1});y=imrotate(handles.img,p1);imshow(y);
%亮度处理
prompt={'输入参数1','输入参数2','输入gamma'};defans={'[0 0.7]','[0 1]','1'};p=inputdlg(prompt,'输入参数',1,defans);p1=str2num(p{1});p2=str2num(p{2});p3=str2num(p{3});gamma=p3;x=(handles.img);y=imadjust(x,p1,p2,gamma);axes(handles.axes2);imshow(y);%G直方图
set(handles.axes2,'HandleVisibility','ON');axes(handles.axes2);if isrgb(handles.img)x=imhist(handles.img(:,:,2));%直方图统计 x1=x(1:10:256);horz=1:10:256;bar(horz,x1);set(handles.axes2,'xtick',0:50:255);else msgbox('这是灰度图像','旋转失败');end %R直方图
set(handles.axes2,'HandleVisibility','ON');axes(handles.axes2);x=imhist(handles.img(:,:,1));%统计
x1=x(1:10:256);horz=1:10:256;bar(horz,x1);set(handles.axes2,'xtick',0:50:255);%B直方图
set(handles.axes2,'HandleVisibility','ON');axes(handles.axes2);if isrgb(handles.img)
直方图x=imhist(handles.img(:,:,3));%直方图统计
x1=x(1:10:256);horz=1:10:256;bar(horz,x1);%axis([0 255 0 150000]);set(handles.axes2,'xtick',0:50:255);%set(handles.axes2,'ytick',0:2000:15000);else msgbox('这是灰度图像','旋转失败');end
%直方图均衡
set(handles.axes2,'HandleVisibility','ON');axes(handles.axes2);if isrgb(handles.img)a=histeq(handles.img(:,:,1));b=histeq(handles.img(:,:,2));c=histeq(handles.img(:,:,3));k(:,:,1)=a;k(:,:,2)=b;k(:,:,3)=c;imshow(k);else h=histeq(handles.img);%直方图均衡 imshow(h);end
3、效果图
三、遇到的问题及解决方法
1、遇到的问题
最开始在Command里面用imread打开图片是可行的,但到了GUI里面之后,会出现一些错误,主要就是提示说:找不到对应的地方。还有就是在编写完程序之后,放大感觉没有任何变化。
2、解决方法
在查询资料后发现,在GUI里面打开图片是需要编写图片的地址以及格式的,要先判断你要操作的图片是否存在,如果不存在,应该提示你不存在的错误;在不能放大这个问题上,后来发现是axes2不够大,也就是画布不够大,再放大了画布后,放大就明显多了,缩小的时候也是这样。
四、主要收获和心得体会
在俩周的自动化软件实训里面,最大的感触就是MATLAB很强大,不但可以用自己自带的函数,还可以和C语言Java等语言连接共用,在处理图像上有自己独特的优势,在编辑菜单之后再进行相应的编程,做出来的界面和网页一样好看,这俩周特别快,不过收获很多,在很大程度上锻炼了我们的设计能力。
第四篇:图像处理 实验报告
摘要:
图像处理,用计算机对图像进行分析,以达到所需结果的技术。又称影像处理。基本内容 图像处理一般指数字图像处理。数字图像是指用数字摄像机、扫描仪等设备经过采样和数字化得到的一个大的二维数组,该数组的元素称为像素,其值为一整数,称为灰度值。图像处理技术的主要内容包括图像压缩,增强和复原,匹配、描述和识别3个部分。图像处理一般指数字图像处理。
数字图像处理的目的是改善图像的质量,它以人为对象,以改善人的视觉效果为目的。目前,图像处理演示系统应用领域广泛医学、军事、科研、商业等领域。因为数字图像处理技术易于实现非线性处理,处理程序和处理参数可变,故是一项通用性强,精度高,处理方法灵活,信息保存、传送可靠的图像处理技术。本图像处理演示系统以数字图像处理理论为基础,对某些常用功能进行界面化设计,便于初级用户的操作。设计要求
可视化界面,采用多幅不同形式图像验证系统的正确性;
合理选择不同形式图像,反应各功能模块的效果及验证系统的正确性 对图像进行灰度级映射,对比分析变换前后的直方图变化;
1.课题目的与要求 目的:
基本功能:彩色图像转灰度图像
图像的几何空间变换:平移,旋转,剪切,缩放 图像的算术处理:加、减、乘
图像的灰度拉伸方法(包含参数设置); 直方图的统计和绘制;直方图均衡化和规定化; 要求:
1、熟悉图像点运算、代数运算、几何运算的基本定 义和常见方法;
2、掌握在MTLAB中对图像进行点运算、代数运算、几何运算的方法
3、掌握在MATLAB中进行插值的方法
4、运用MATLAB语言进行图像的插值缩放和插值旋转等
5、学会运用图像的灰度拉伸方法
6、学会运用图像的直方图设计和绘制;以及均衡化和规定化
7、进一步熟悉了解MATLAB语言的应用,将数字图像处理更好的应用于实际
2.课题设计内容描述
1>彩色图像转化灰度图像:
大部分图像都是RGB格式。RGB是指红,绿,蓝三色。通常是每一色都是256个级。相当于过去摄影里提到了8级灰阶。
真彩色图像通常是就是指RGB。通常是三个8位,合起来是24位。不过每一个颜色并不一定是8位。比如有些显卡可以显示16位,或者是32位。所以就有16位真彩和32位真彩。
在一些特殊环境下需要将真彩色转换成灰度图像。1单独处理每一个颜色分量。
2.处理图像的“灰度“,有时候又称为“高度”。边缘加强,平滑,去噪,加锐度等。
3.当用黑白打印机打印照片时,通常也需要将彩色转成灰白,处理后再打印 4.摄影里,通过黑白照片体现“型体”与“线条”,“光线”。2>图像的几何空间变化:
图像平移是将图像进行上下左右的等比例变化,不改变图像的特征,只改变位置。
图像比例缩放是指将给定的图像在x轴方向按比例缩放fx倍,在y轴按比例缩放fy倍,从而获得一幅新的图像。如果fx=fy,即在x轴方向和y轴方向缩放的比率相同,称这样的比例缩放为图像的全比例缩放。如果fx≠fy,图像的比例缩放会改变原始图象的像素间的相对位置,产生几何畸变。
旋转。一般图像的旋转是以图像的中心为原点,旋转一定的角度,也就是将图像上的所有像素都旋转一个相同的角度。旋转后图像的的大小一般会改变,即可以把转出显示区域的图像截去,或者扩大图像范围来显示所有的图像。图像的旋转变换也可以用矩阵变换来表示。3>图像的算术处理:
图像代数运算是指对两幅或两幅以上输入图像对应的像素逐个进行和差积商运算以产生增强效果的图像。图像运算是一种比较简单有效的增强处理手段是图像处理中常用方法。三种图像处理代数运算的数学表达式如下: C(x,y)=A(x,y)+B(x,y)C(x,y)=A(x,y)-B(x,y)C(x,y)=A(x,y)*B(x,y)4>图像的灰度拉伸方法:
灰度拉伸又叫对比度拉伸,它是最基本的一种灰度变换,使用的是最简单的分段线性变换函数,它的主要思想是提高图像处理时灰度级的动态范围。可以有选择的拉伸某段灰度区间以改善输出图像。如图,所示的变换函数的运算结果是将原图在a到b之间的灰度拉伸到c到d之间。如果一幅图像的灰度集中在较暗的区域而导致图像偏暗,可以用灰度拉伸功能来拉伸(斜率>1)物体灰度区间以改善图像;同样如果图像灰度集中在较亮的区域而导致图像偏亮,也可以用灰度拉伸功能来压缩(斜率<1)物体灰度区间以改善图像质量。
5>直方图设计和绘制;以及均衡化和规定化:
灰度直方图是将数字图像的所有像素,按照灰度值的大小,统计其所出现的频度。通常,灰度直方图的横坐标表示灰度值,纵坐标为半个像素个数,也可以采用某一灰度值的像素数占全图像素数的百分比作为纵坐标。
直方图均衡方法的基本原理是:对在图像中像素个数多的灰度值(即对画面起主要作用的灰度值)进行展宽,而对像素个数少的灰度值(即对画面不起主要作用的灰度值)进行归并。从而达到清晰图像的目的。
3.总体方案设计
1> GUI图像处理平台的总体设计
图像处理平台设计的目的是能够将图像处理的各个独立算法集成到一个平台内,方便用户选用多种方法对图像进行处理.平台基于MatlabGUI设计,实现图像处理过程的交互和可视化,并为用户二次开发提供平台接口,提高图像处理算法的综合利用效率
2>平台总体功能设计 根据一体化的设计思想,平台主要实现算法集成、交互可视化和提供二次开发接口等功能.其中算法集成分为已有算法集成和新算法集成.具体功能描述如下:
(1)已有算法集成是对Matlab图像处理工具
包中提供的算法进行集成,可以通过使用函数名加参数的方式直接调用.依据功能进行分类,将同类算法集成到同一菜单项内,如将傅里叶变换、小波变换、离散变换等算法归类到图像变换中,进行集成.(2)新算法集成是指对自主开发的算法进行集成,如改进水平集算法[12]、交互式图割算法[13]、细胞自动机分割算法[14]等均为自主开发的图像分割算法,同已有算法集成方式类似,集成到平台中,便于综合运用和算法分析与对比.(3)交互式可视化是指对图像处理过程及结果的可视化显示,并提供用户交互区.(4)二次开发接口是指通过调用集成模板方式,为用户提供一个将自己算法集成到平台中的一个接口
3>总体布局设计
一个高性能的图像处理平台应该为用户提供
方便快捷的操作.平台设计中通过菜单和按钮实现快捷操作,其中菜单项提供平台的整体功能,快捷按钮显示具体的独立功能.图像处理平台的布局设计如图1所示.利用MatlabGUI提供的工具包和底层代码,可以实现菜单功能区、快捷按钮功能区、DEMO显示区、可视化效果显示区和用户交互区的布局设计
4.程序实现和测试
4.1各个功能模块的主要实现程序 基本功能:彩色图像转灰度图像
I=imread('C:MATLAB7toolboximagesimdemospeppers.png','png');x=rgb2gray(I);figure(1);subplot(121);imshow(I);title('原始图像');subplot(122);imshow(x);title('灰度图像');实验结果:
图像的几何空间变换:平移,旋转,剪切,缩放
img1=imread('C:MATLAB7toolboximagesimdemosguidemo123jujiao3.jpg','jpg');img1=rgb2gray(img1);figure,imshow(img1);imwrite(img1,'a1.jpg');%%%%%%平移
se=translate(strel(1),[20 20]);img2=imdilate(img1,se);figure,imshow(img2);imwrite(img2,'a2.jpg');%%%%%%旋转 img3=imrotate(img1,90);figure,imshow(img3);imwrite(img3,'a3.jpg');% %%%%%缩放 img4=imresize(img1,2);figure,imshow(img4);imwrite(img4,'a4.jpg');
原始图像:
平移图像:
旋转图像:
缩放图像:
图像的算术处理:加、减、乘
加法
A=imread('C:MATLAB7toolboximagesimdemosguidemo123jujiao3.jpg','jpg');B=imread('C:MATLAB7toolboximagesimdemosguidemo123jujiao1.jpg','jpg');subplot(1,3,1);imshow(A);title('图像1');subplot(1,3,2);imshow(B);title('图像2');C=imadd(A,B);subplot(1,3,3);imshow(C);title('相加后的图像')
减法
A=imread('C:MATLAB7toolboximagesimdemosguidemo123jujiao3.jpg','jpg');B=imread('C:MATLAB7toolboximagesimdemosguidemo123jujiao1.jpg','jpg');subplot(2,3,1);imshow(A);title('图像1');subplot(2,3,2);imshow(B);title('图像2');C=imsubtract(A,B);subplot(2,3,3);imshow(C);title('相减后的图像')
乘法
A=imread('C:MATLAB7toolboximagesimdemosguidemo123jujiao3.jpg','jpg');B=imread('C:MATLAB7toolboximagesimdemosguidemo123jujiao1.jpg','jpg');subplot(1,3,1);imshow(A);title('图像1');subplot(1,3,2);imshow(B);title('图像2');C=immultiply(A,B);subplot(1,3,3);imshow(C);title('相乘后的图像')
图像的灰度拉伸方法(包含参数设置);
img=imread('C:MATLAB7toolboximagesimdemosguidemo123jujiao3.jpg','jpg');figure(1);imshow(img);title('原图');[m,n]=size(img);%测量图像尺寸参数
GreyHist=zeros(1,256);%预创建存放灰度出现概率的向量 for k=0:255 GreyHist(k+1)=length(find(img==k))/(m*n);%计算每级灰度出现的概率,将其存入GreyHist中相应位置
end figure(2);bar(0:255,GreyHist)%绘制直方图 title('原直方图')xlabel('灰度值')ylabel('出现概率')%灰度拉伸 imggrey=img;prompt={'请输入系数a','请输入系数b'};words='请输入线性拉伸函数:';answer = inputdlg(prompt,words,1,{'0.5','2'});a=str2double(answer(1));b=str2double(answer(2));for i=1:m for j=1:n img(i,j)=a*img(i,j)+b;end end figure(3);imshow(img);title('灰度拉伸');GreyHist=zeros(1,256);%预创建存放灰度出现概率的向量 for k=0:255
直方图的统计和绘制;直方图均衡化和规定化;
%一,图像的预处理,读入彩色图像将其灰度化
img=imread('C:MATLAB7toolboximagesimdemosguidemo123jujiao3.jpg','jpg');%读入JPG彩色图像文件
imshow(img)%显示出来 title('输入的彩色JPG图像')imwrite(rgb2gray(img),'PicSampleGray.jpg');%将彩色图片灰度化并保存 img=rgb2gray(img);%灰度化后的数据存入数组 %二,绘制直方图
[m,n]=size(img);%测量图像尺寸参数
GP=zeros(1,256);%预创建存放灰度出现概率的向量 for k=0:255 GP(k+1)=length(find(img==k))/(m*n);%计算每级灰度出现的概率,将其存入GP中相应位置 end figure,bar(0:255,GP,'g')%绘制直方图 title('原图像直方图')xlabel('灰度值')ylabel('出现概率')%三,直方图均衡化 S1=zeros(1,256);for i=1:256 for j=1:i S1(i)=GP(j)+S1(i);%计算Sk end end S2=round((S1*256)+0.5);%将Sk归到相近级的灰度 for i=1:256 GPeq(i)=sum(GP(find(S2==i)));%计算现有每个灰度级出现的概率 end figure,bar(0:255,GPeq,'b')%显示均衡化后的直方图 title('均衡化后的直方图')xlabel('灰度值')ylabel('出现概率')%四,图像均衡化 PA=img;for i=0:255 PA(find(img==i))=S2(i+1);%将各个像素归一化后的灰度值赋给这个像素 end figure,imshow(PA)%显示均衡化后的图像 title('均衡化后图像')imwrite(PA,'PicEqual.jpg');
4.3.问题说明和总结:对在调试中发现的问题和解决方法做说明。
图像处理,是对图像进行分析、加工、和处理,使其满足视觉、心理以及其他要求的技术。图像处理是信号处理在图像域上的一个应用。目前大多数的图像是以数字形式存储,因而图像处理很多情况下指数字图像处理。
进行程序调试的过程中,最重要的是输入图像,刚开始是为了找到原始图像耗费了很多时间,一般的条件书上有,但要对其进行磨合。程序编写时,应该注意大小写。应该注意最后的输出部分,保证输出条件与输入条件相同。
5.总结与体会 这次使用MATALB进行图像处理的编写,是我对MATALB软件有了更深入的了解,对其的应用能力也有了相应的提高,更深入的了解到MATALB作为绘图软件的方便与快捷。在进行程序调试的过程中,最重要的是输入图像,只有找到图像的原始位置,才能进行下面的程序编码。编码程序时,应该在MATLAB原始文档的位置先行输入,输入时应该注意大小写。程序应该尽可能地简单,只要能达到目的就行,程序越复杂,运行时的错误就越多。以上是我的程序编码经验与感受。
6.参考文献
《数字图像处理实验指导书》 厍向阳 曹颖超 编著 《MATLAB与数学实验》 艾冬梅 李艳晴 编著 《图像处理和分析技术》 章毓晋 编著 《MATLAB实用教程》 郑阿奇 编著
第五篇:图像处理说课稿
图像处理
一、教材分析和教学地位分析
本节课是浙江教育出版社必修教材中第三章第三节第一课时的内容,主要介绍了图像处理的基本概念:分辨率、位图和矢量图、颜色、文件格式,以及常用的图像编辑工具的简单介绍。本节课是高二选修教材《多媒体技术应用》中图像加工部分的的基础,是用于激发和发现学生对多媒体技术应用的兴趣的基础内容,是为学生高二选修合适内容奠定基础的一节课。
二、学情分析
本节课的教学对象是高一学生,他们具备了初步的审美意识,并且在日常生活中对于图像处理有了基本的体验,如智能手机上的美颜相机软件,简单的图像处理工具美图秀秀等,但对于图像处理当中的一些基本概念,如分辨率,图像格式和分类等仍然处于模糊的状态,对于图像处理的高级工具Photoshop也一般是只闻其名,并没有多少实质性的体验。因此,本节课从实际出发,创设适当的学习情境,引发学生对图像处理的学习兴趣,通过学生的自身体验,由浅入深,由抽象到具体得帮助学生掌握基本概念,并且掌握图像处理工具Photshop的几个基本功能。
三、教学目标分析
根据教材的结构和内容分析以及新课标要求,结合高一学生的认知结构及其心理特点,我拟定了以下的教学目标。知识与技能:
1、掌握Photshop中仿制图章工具的用法。
2、掌握画布修改的方法。
3、掌握图像的一些基本概念:分辨率、图像分类及格式。过程与方法:
1、通过体验仿制图章工具的使用,体会图像处理的神奇及乐趣。
2、通过画布修改的前后对比,从感官上上升对分辨率概念的认识。
3、通过对颜色设置中对于红绿蓝的分量调整,体验二进制理论在色彩当中的应用。情感态度和价值观
通过本节课的学习,激发学生对于图像处理的兴趣,培养基本的审美情趣。
四、教学重难点
基于以上的教学目标,我指定了以下的重难点。
重点:分辨率以及图像分类及格式。
难点:二进制理论在色彩当中的运用。
五、教法和学法
根据本节课的内容和特点,主要采用以下几种教学方法。
1、演示法:演示仿制图章的使用。
2、活动探究和任务驱动:引导学生参与活动和任务,发挥学生的主观能动性,培养学生的动手能力。
3、集体讨论:画布修改的前后对比
六、教学过程
最后我具体谈谈这堂课的教学过程,本节课设计了5个教学环节。
1、示范演示,激发兴趣。
选择一副果树图片,通过给学生演示PS中仿制图章的使用,激发学生对图像处理的学习兴趣。
任务:通过学习网站当中对于仿制图章工具的使用介绍,完成另一幅图片的处理要求。
2、自身体验,探索新知
活动探究一:通过学习网站中对于画布修改的操作,完成画布的修改,并且集体讨论回答以下问题:
(1)画布修改之后图像有什么变化?
(2)将修改后的画布放大到和原来一样大,图像质量发生了什么变化
根据学生回答,引申分辨率的概念,以及位图和矢量图的概念,并且演示矢量图编辑工具Coraldraw。
3、理论深入
活动探究
二、调整PS中的色彩工具栏中的分量调整,思考标准红绿蓝所对应的二进制代码。
根据学生回答并补充,引申真彩色的定义。补充文件格式及扩展名。
4、实践体验
根据自己爱好,选择一副图片,通过网站当中对于PS的滤镜介绍,体验滤镜效果。
5、小结。
七、教学反思
以上教学设计均是我个人的教学预设,在实际的教学过程中,我会根据学生的具体反馈做出相应的调整,做到因材施教,真正的实现以学生为中心的教学,为学生的长远发展负责,使信息技术教学更好的为生活生产服务。