实验二第二章图像的算术处理实验六二值化运算一、实验目的1、掌握二值化运算的原理。2、学习在DSP上实现二值化运算的方法。二、实验仪器1、硬件平台:C6000数字图像处理实验箱(型号ZY13DSP23BB)、摄像头、USB连接线。2、软件平台:Windows98/2000/XP操作系统、CodeComposerStudio2.0ForC6000、ImageRECV2.0forZY13DSP23BB。三、实验内容1、二值化运算原理灰度图转二值图的一种常用方法就是阈值化(thresholding)。阈值就象个门槛,比它大的为白,比它小的为黑,经过阈值化处理后的图像变成了黑白二值图。进行阈值化只需给出阈值点thresh即可。如图6-1为图1-1阈值取128,阈值化处理后的结果,成了一幅黑白图。图6-1阈值化结果2、算法实现代码voidThreshholding(unsignedchar*ibuf,intwidth,intheight,intthresh){intj;for(j=0;jheight*width;j++){if(ibuf[j]thresh)ibuf[j]=0;elseibuf[j]=255;}}四、实验步骤1、将光盘上的“examples\thresholding”目录复制到计算机硬盘,去掉目录中所有文件的只读属性;2、通过USB连接线,将C6000数字图像处理实验箱与PC的USB口相连接,如果PC提示找到新硬件,则表示连接成功;3、启动CodeComposerStudio2.0ForC6000;4、启动ImageRECV2.0forZY13DSP23BB;5、打开“Project”菜单,选择“Open…”菜单项,找到并打开硬盘上目录“examples\thresholding”,选择thresholding.pjt工程文件;6、打开“Project”菜单,选择“Rebuildall…”菜单项,编译程序,生成thresholding.out文件;7、打开“File”菜单,选择“Loadprogram…”菜单项,选择“examples\thresholding\Debug\thresholding.out”,程序将加载到DSP上;8、运行:按快捷键“F5”或选择“Debug”菜单中的“Run”项;9、点击PC上的应用程序ImageRECV2.0.exe中的“打开USB设备”,再出现“USB口打开成功”后点击“启动接收”,可以在程序界面中将接收到的图像数据实时的显示出来,按键A1为处理前的图像,A2为处理后的结果,用户可以在ImageRECV2.0.exe程序界面中观测到运行结果并进行比较。实验七反色运算一、实验目的1、掌握反色运算的原理。2、学习在DSP上实现反色运算的方法。二、实验仪器1、硬件平台:C6000数字图像处理实验箱(型号ZY13DSP23BB)、摄像头、USB连接线;2、软件平台:Windows98/2000/XP操作系统、CodeComposerStudio2.0ForC6000、ImageRECV2.0forZY13DSP23BB。三、实验内容1、反色运算原理反色(invert)就是形成底片效果。如图7-1中的灰度图,黑色占据整个图像的大部分区域,对这样的图像进行打印非常耗墨,此时可以先对其进行反色处理后再打印,如图7-2。图7-1原图图7-2反色结果反色的实际含义是将R、G、B值反转。若颜色的量化级别是256,则新图的R、G、B值为255减去原图的R、G、B值。这里针对的是所有图,包括真彩图、带调色板的彩色图(又称伪彩色图)、灰度图。针对不同种类具体的处理方式有所不同。真彩图不带调色板,每个象素用3个字节,表示R、G、B三个分量,其处理简单,将反转后的R、G、B值写入新图即可;带调色板的彩色图,位图中的数据只是对应调色板中的一个索引值,因此只需要将调色板中的颜色反转,形成新调色板,而位图数据不用动,就能够实现反转;灰度图是一种特殊的伪彩色图,只不过调色板中的R、G、B值都是一样,因此反转的处理与上同。2、算法实现代码以真彩图为例。voidinvert(char*ibuf,char*obuf,intwidth,intheight){unsignedintx,y;unsignedcharBlue,Green,Red;for(y=0;yheight;y++)for(x=0;xwidth;x++){Blue=(unsignedchar)(*ibuf++);Green=(unsignedchar)(*ibuf++);Red=(unsignedchar)(*ibuf++);//反转位图数据中的颜色,存入新的位图数据中*(obuf++)=(unsignedchar)(255-Blue);*(obuf++)=(unsignedchar)(255-Green);*(obuf++)=(unsignedchar)(255-Red);}}四、实验步骤1、将光盘上的“examples\invert”目录复制到计算机硬盘,去掉目录中所有文件的只读属性;2、通过USB连接线,将C6000数字图像处理实验箱与PC的USB口相连接,如果PC提示找到新硬件,则表示连接成功;3、启动CodeComposerStudio2.0ForC6000;4、启动ImageRECV2.0forZY13DSP23BB;5、打开“Project”菜单,选择“Open…”菜单项,找到并打开硬盘上目录“examples\invert”,选择invert.pjt工程文件;6、打开“Project”菜单,选择“Rebuildall…”菜单项,编译程序,生成invert.out文件;7、打开“File”菜单,选择“Loadprogram…”菜单项,选择“examples\invert\Debug\invert.out”,程序将加载到DSP上;8、运行:按快捷键“F5”或选择“Debug”菜单中的“Run”项;9、点击PC上的应用程序ImageRECV2.0.exe中的“打开USB设备”,再出现“USB口打开成功”后点击“启动接收”,可以在程序界面中将接收到的图像数据实时的显示出来,按键A1为处理前的图像,A2为处理后的结果,用户可以在ImageRECV2.0.exe程序界面中观测到运行结果并进行比较。实验八分量变换一、实验目的1、掌握分量变换的原理。2、学习在DSP上实现分量变换的方法。二、实验仪器1、硬件平台:C6000数字图像处理实验箱(型号ZY13DSP23BB)、摄像头、USB连接线。2、软件平台:Windows98/2000/XP操作系统、CodeComposerStudio2.0ForC6000、ImageRECV2.0forZY13DSP23BB。三、实验内容1、分量变换原理在表示颜色的方法中,除了RGB外,还有一种叫YUV的表示方法,电视信号中用的就是一种类似于YUV的颜色表示方法。在这种表示方法中,Y分量的物理含义就是亮度,它包含了灰度图(grayscale)的所有信息,只用Y分量就完全能够表示出一幅灰度图来;U和V分量代表了色差信号。所谓分量变换(ComponentTrans)就是RGB与YUV之间的相互转换。RGB到YUV的变换称为分量变换;YUV到RGB的转换则称为反分量变换。使用这种表示方法主要具有两个特点:(1)因为Y代表了亮度,包含了灰度图的所有信息,只用Y分量就完全能够表示出一幅灰度图来。同时考虑U,V分量,就能够表示出彩色信息来。因此,用同一种表示方法可以很方便的在灰度和彩色图之间切换,而RGB表示方法做不到这一点。(2)人眼对于亮度信号非常敏感,而对色差信号的敏感程度相对较弱。也就是说,图像的主要信息包含在Y分量中。因此,用YUV方式存储图像信息时,主要采用Y:U:V=4:2:2和Y:U:V=4:1:1的格式,这两种格式实现了最原始的图像信息压缩(感兴趣的读者可以查阅相关资料)。而RGB的表示方法做不到这点,因为RGB三个分量同等重要。YUV和RGB之间有着如下的对应关系:2、算法实现由于本硬件系统采集进来的就是符合CCIR656标准的图像数据流,用户可以直接获取YUV4:2:2的数字图像数据,因此,在“examples\ComponentTrans”中给出的是YUV到RGB的转换,具体代码参考附录光盘中的ComponentTrans工程文件。四、实验步骤1、将光盘上的“examples\ComponentTrans”目录复制到计算机硬盘,去掉目录中所有文件的只读属性;2、通过USB连接线,将C6000数字图像处理实验箱与PC的USB口相连接,如果PC提示找到新硬件,则表示连接成功;3、启动CodeComposerStudio2.0ForC6000;4、启动ImageRECV2.0forZY13DSP23BB;5、打开“Project”菜单,选择“Open…”菜单项,找到并打开硬盘上目录中的“examples\ComponentTrans”,选择ComponentTrans.pjt工程文件;6、打开“Project”菜单,选择“Rebuildall…”菜单项,编译程序,生成ComponentTrans.out文件;7、打开“File”菜单,选择“Loadprogram…”菜单项,选择“examples\ComponentTrans\Debug\ComponentTrans.out”,程序将加载到DSP上;8、运行:快捷键“F5”或选择“Debug”菜单中的“Run”项;9、点击PC上的应用程序ImageRECV2.0.exe中的“打开USB设备”,再出现“USB口打开成功”后点击“启动接收”,可以在程序界面中将接收到的图像数据实时的显示出来,按键A1为处理前的图像,A2为处理后的结果,用户可以在ImageRECV2.0.exe程序界面中观测到运行结果并进行比较。