电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

图象处理和分析实验说明书1VIP免费

图象处理和分析实验说明书1_第1页
1/6
图象处理和分析实验说明书1_第2页
2/6
图象处理和分析实验说明书1_第3页
3/6
<<图象处理和分析>>课程实验1一、实验目的熟悉*.bmp位图文件的文件格式,掌握位图数据读取并在屏幕上显示的方法。二、实验环境1~2人一台pc机,VisualC++6.0编程环境。三、实验内容读取指定的256色灰度图像的数据,显示该文件的文件头和信息头数据的值,并在屏幕上显示该图象。四、实验步骤1.进入VisualC++6.0编程环境,点击“File”→“New”,选择project标签页,按照图1所示选择新建工程的类型和名字,点击ok确定。图12.出现图2所示对话框,按照图2进行应用程序类型选择,并点击Finish确定。在随后出现的对话框中点击ok确定,系统就按照我们的要求自动生成了一个名为“ShowBmp”的工程。3.在stdafx.h头文件中添加如下的代码:#include//MFCcoreandstandardcomponents#include//MFCextensions#include//MFCAutomationclasses#include//MFCsupportforInternetExplorer4CommonControls#include/*For_MAX_PATHdefinition*/#include//输入输出函数库#include//内存分配函数库#include//数学相关函数库图24.打开ShowBmp.cpp文件,在主函数main之前添加如下代码:BITMAPFILEHEADERbmfHeader;//位图文件头BITMAPINFOHEADERbmiHeader;//位图信息头RGBQUAD*bmiColor;//调色板指针unsignedcharMyImage[1024][1024];//为二维图像的颜色数据分配一个二维数组5.将主函数写为如下形式:voidmain(intargc,char*argv[]){if(argc<2){printf("输入命令格式:ShowBmp.exe*.bmp\n");return;}FILE*fp;intPalette_Num;intHeight,Width,Width_4;inti,j;DWORDColor_Value;fp=fopen(argv[1],"rb");//打开*.bmp文件,获取文件指针fread(&bmfHeader,sizeof(bmfHeader),1,fp);//从文件中读位图文件头数据到bmfHeader变量fread(&bmiHeader,sizeof(bmiHeader),1,fp);//从文件中读位图信息头数据到bmiHeader变量//判断是否是DIB对象,检查头两个字节是否是"BM"if(bmfHeader.bfType!=0x4D42){printf("这不是一个位图文件\n");return;}//判断位图的颜色是否是256色if(bmiHeader.biBitCount!=8){printf("本程序只能显示256色灰度图\n");return;}Height=bmiHeader.biHeight;//从信息头中读出图像高度Width=bmiHeader.biWidth;//从信息头中读出图像宽度Width_4=(Width+3)/4*4;//取一个大于等于Width,并且最接近Width的4的整数倍的数值printf("%s图像文件的文件头数据如下\n",argv[1]);printf("bfType=BM\nbfSize=%d\nbfReserved1=%d\nbfReserved2=%d\nbfoffBits=%d\n",bmfHeader.bfSize,bmfHeader.bfReserved1,bmfHeader.bfReserved2,bmfHeader.bfOffBits);printf("%s图像文件的信息头数据如下\n",argv[1]);printf("biSize=%d\nbiWidth=%d\nbiHeight=%d\nbiPlanes=%d\nbiBitCount=%d\nbiCompress=%d\nbiSizeImage=%d\nbiXPeIsPerMeter=%d\nbiYPeIsPerMeter=%d\nbiCIrUsed=%d\nbiClrImprotant=%d\n",bmiHeader.biSize,bmiHeader.biWidth,bmiHeader.biHeight,bmiHeader.biPlanes,bmiHeader.biBitCount,bmiHeader.biCompression,bmiHeader.biSizeImage,bmiHeader.biXPelsPerMeter,bmiHeader.biYPelsPerMeter,bmiHeader.biClrUsed,bmiHeader.biClrImportant);//获取调色板的成员数目,也就是位图所用到的颜色个数if(bmiHeader.biClrUsed==0)Palette_Num=1<

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

图象处理和分析实验说明书1

确认删除?
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群