欢迎来到天天文库
浏览记录
ID:38769454
大小:1.24 MB
页数:11页
时间:2019-06-19
《中南大学多媒体实验一》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《多媒体原理与系统设计》实验报告项目名称实验一专业班级软件1203学号姓名实验成绩:批阅教师:2014年11月19日实验1《数字图像处理程序设计》实验学时:2实验地点:二综203实验日期:2014/11/19一、实验目的1.强化对BMP位图数据格式的理解2.掌握数字图像数据的基本操作方法(像素级)3.理解图像融合的基本原理4.提高VC++图像处理程序设计能力二、实验内容和方法1.向内存加载两个或多个BMP位图文件2.利用像素操作实现单色(R、G、B)、灰度图像的显示3.通过操作像素实现图像的倒立和正立显示4.实现两个图像的叠加(透明性原理,可见水印原理)5.通过像素操作处理图像扭曲问
2、题(即当图像的每行像素个数不能被4整除时的填充字节问题)。三、实验要求1.实验前预习BMP位图文件数据格式2.准备两个分辨率相同但内容不同的BMP位图文件(24位)3.熟悉教师提供的框架性代码(仅含打开文件、数据定位等基本功能)4.独立完成各项实验任务5.做好实验记录(保存各类实验的输出图像)四、实验步骤1.启动VC++编程环境2.打开框架性解决方案文件3.编写关键代码4.运行程序5.验收五、实验结果主程序代码:#include"stdafx.h"#include"waterRipple.h"#defineMAX_LOADSTRING100//////////////////////
3、////#defineIMAGE_WIDTH640#defineIMAGE_HIGHT480typedefstructCOLOR{BYTEb;BYTEg;BYTEr;}RGBCOLOR;//全¨?局?变À?量¢?:HINSTANCEhInst;//当Ì¡À前¡ã实º¦Ì例¤yTCHARszTitle[MAX_LOADSTRING];//标À¨º题¬a栏¤?文?本À?TCHARszWindowClass[MAX_LOADSTRING];//主¡Â窗ä¡ã口¨²类¤¨¤名?voidNextFrameWaveEnerge();voidRenderRipple();voiddisturb()
4、;//////////////////////////////////////////////////////*1.高?度¨¨和¨ª宽¨ª度¨¨颠Ì?倒Ì1,ê?why?ê?2.*/intstaticbuffer_1[IMAGE_HIGHT][IMAGE_WIDTH],buffer_2[IMAGE_HIGHT][IMAGE_WIDTH];intstatictmp[IMAGE_HIGHT][IMAGE_WIDTH];//中D间?矩?阵¨®,ê?用®?于®¨²交?换?波¡§能¨¹staticCOLORdet_image[IMAGE_HIGHT][IMAGE_WIDTH];//要°a显?示
5、º?的Ì?目?标À¨º图ª?像?staticFILE*ifp;staticchar*filename="1.bmp";//24位?的Ì?位?图ª?staticunsignedcharmybuf[IMAGE_HIGHT*IMAGE_WIDTH*3+100];staticBITMAPFILEHEADER*pbmpfh;staticBITMAPINFO*pbmpi;staticBYTE*pBits;staticintcxDib,cyDib;//此ä?代䨲码?模¡ê块¨¦中D包㨹含?的Ì?函¡¥数ºy的Ì?前¡ã向¨°声¦¨´明¡Â:ATOMMyRegisterClass(HINST
6、ANCEhInstance);BOOLInitInstance(HINSTANCE,int);LRESULTCALLBACKWndProc(HWND,UINT,WPARAM,LPARAM);INT_PTRCALLBACKAbout(HWND,UINT,WPARAM,LPARAM);intAPIENTRY_tWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance,LPTSTRlpCmdLine,intnCmdShow){UNREFERENCED_PARAMETER(hPrevInstance);UNREFERENCED_PARAMETER(l
7、pCmdLine);//TODO:在¨²此ä?放¤?置?代䨲码?。¡ê//////////////////////////for(inty=0;y
此文档下载收益归作者所有