欢迎来到天天文库
浏览记录
ID:27814873
大小:1.10 MB
页数:27页
时间:2018-12-06
《中南大学多媒体技术导论及应用实验报告》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、《多媒体技术导论及应用》实验报告项戸名称数字图像处理程序设计专业班级计科]001学号0909090430姓名赵昴平实验成绩:批阅教师:实验2《数字图像处理程序设计》实验学时:2实验地点:科技楼实验口期:20612.27一、实验目的1.强化对BMP位图数据格式的理解2.掌握数字图像数据的基本操作方法(像素级)3.理解图像融合的基本原理4.提高VC++图像处理程序设计能力二、实验内容1.向内存加载两个或多个BMP位图文件2.利用像素操作实现单色(R、G、B)、灰度图像的显示3.通过操作像素实现图像的倒立和正立显示4.实现两个图像的叠加(透明性原理
2、,可见水印原理)5.通过像素操作处理图像扭曲问题(即当图像的每行像素个数不能被4整除时的填充字节问题)。三、实验方法1、彩色图像转换为灰度图像原理及灰度窗口变换原理(1)彩色图像转换为灰度图像基本原理彩色图像有不同的颜色空间,根据不同的颜色空间转换公式对图像进行转换,选择最具代表性的分量信息,对图像进行处理和特征提取,是图像处理的关键步骤:颜色空问转换公式如(YIQ・RGB):RGB■■1.0001.0001.0000.956-0.272-1.1060.621Y-0.647I1.703]LQRGB图像转换为灰度图像是保留图像亮度信息而去掉图像
3、色彩饱和度等信息,得到图像的灰度图像如图1所示,图像灰度变换及灰度数据:0.25630.28250.2826佝20.20510.21570.28260,38220.4391O.OT0.53420.17890.13070.17890.20510.32560.2483LW080.24830.26240.33440.33U0.26240.25^50.26240.33440,3314图1:图像灰度变换及灰度数据图像颠倒是指把定义好的图像区域上下翻转地显示在屏幕上。分析图像颠倒的过程,可发现每行的图像信息都保持不变,而只是改变了行的顺序,将第一行与最后
4、的第n行相互交换,第二行与第n—1行交换..,依此类推,从而实现了图像的颠倒。只需采用按行交换的方式,即可方便地修改缓冲区内容,实现图像的颠倒。基木步骤如下:(1)将原图像读入缓冲区,并擦除原图像;(2)计算图像的高度,即行数height;计算图像宽度width;根据宽度、高度生成新缓冲区;(3)把第一行与最末行交换,第2行与第n—1行交换..,依此类推,直至全部交换完毕。既原图中的(x、y)点,在新生成的图象中对应为xl=x,yl二height-l・y。把原图中的象素值读入新缓冲区的(xl,yl)点处。(4)把交换后的图像缓冲区内容重新显示
5、在屏幕四、实验步骤1.启动VC++编程环境2.打开框架性解决方案文件3.编写关键代码4.运行程序5.验收五、实验结果六、实验结论a)在VC6.0坏境下打开“图像处理系统”代码,进行编译调试,打开实验前准备的医学图像,进行灰度变换曲线调整如下图,观察图像进行灰度调整后的效果;嫌酣鉢:"鳞30_牯斛蜒30255//220]ro~i_Wj//图表1图像灰度变换曲线r—i图表2原图图表3灰度变换后的图分析:变换后的图像颜色层次更加分明。从上图的灰度变换曲线调整窗口可知,灰度值在0-50和200-255范圉内对比度降低,其余部分对比度提高。而该图像灰度
6、值大部分集中在50-200范围内,这样整个图像的对比度就增强了。b)在VC6.0环境下找到图像灰度变换函数代码,分析代码实现过程与方法,在实验结束后,画出灰度变换函数代码的实现流程图,理解灰度变换在在VC6.0环境下实现的基本方法;代码:BOOLWINAPIGrayStretch(LPSTRlpDIBBits,LONGlWidth,LONGlHeight,BYTEbXl,BYTEbYl,BYTEbX2,BYTEbY2){unsignedchar*IpSrc;LONGi;LONGj;BYTEbMap[256J;LONGILineBytes;IL
7、ineBytes=WIDTHBYTES(lWidth*8);for(i=0;i<=bXl;i++){if(bXl>0)bMapril=(BYTE)bYl*i/bXl;elsebMap[i]=0;}for(;i<=bX2;i++){讦(bX2!=bXl)bM叩[i]二bY1+(BYTE)((bY2-bYl)*(i-bXl)/(bX2-bXI));elsebMap[i]=bYl;}for(;iv256;i++){if(bX2!=255)bMapli]=bY2+(BYTE)((255・bY2)*(i・bX2)/(255・bX2));elsebMap
8、[i]=255;1for(i=0;i
此文档下载收益归作者所有