南昌大学数字图像处理实验汇报.doc
文本预览下载声明
实 验 报 告
实验课程: 数字图像处理
学生姓名: 涂汉江
学 号: 6100410181
专业班级: 数媒101班
2013年 06月 08日
PAGE \* MERGEFORMAT - 14 -
南昌大学实验报告
(1)数据图像显示的Vc程序设计
学生姓名: 涂汉江 学 号: 6100410181 专业班级: 数媒101班
实验类型:□验证 ■综合 □设计 □创新 实验日期: 2013.06.01 实验成绩:
实验目的
位图图片显示的C语言实现。
实验要求
用C语言编写简单的程序用来打开位图文件。
实验环境
PC机
VC6.0
实验原理
无
实验代码及结果
//主要代码部分
void CCOpenImageDoc::OnFileOpen()
{
// TODO: Add your command handler code here
CFileDialog dlg(TRUE,0,0,OFN_HIDEREADONLY, _T(位图文件|*.bmp|所有文件|*.*||));
if(dlg.DoModal()==IDOK)
{
FileName=dlg.GetPathName();
if(fileheader) delete fileheader;
if(infoheader) delete infoheader;
if(pal) delete pal;
if(BMPData) delete BMPData;
if(flag) flag=false;
if(!file.Open(FileName,CFile::modeRead)) return;
fileheader=new BITMAPFILEHEADER[1];
infoheader=new BITMAPINFOHEADER[1];
file.Read(fileheader,sizeof(BITMAPFILEHEADER));
if(fileheader-bfType!=0x4D42) return;
file.Read(infoheader,sizeof(BITMAPINFOHEADER));
if(infoheader-biCompression!=0) return;
linebytes=WIDTHBYTES(infoheader-biBitCount*infoheader-biWidth);
if(infoheader-biBitCount==8)
{
pal=new RGBQUAD[256];
BMPData=new BYTE[linebytes*infoheader-biHeight];
file.Read(pal,256*4);
file.Read(BMPData,linebytes*infoheader-biHeight);
flag=true;
}
else if(infoheader-biBitCount==24)
{
BMPData=new
BYTE[linebytes*infoheader-biHeight];
file.Read(BMPData,linebytes*infoheader-biHeight);
flag=true;
}
else return;
file.Close();
UpdateAllViews(NULL);
}
}
//结果截图
实验小结
BMP文件格式比一开始做的DAT文件复杂,有一个文件头来记录相关的图片信息 ,而且文件里图片的存储方式是和正常的扫描顺序相反的,也就是说输出的时候要倒过来输出,所以也需要注意。
南昌大学实验报告
(2)直方图均衡化图像增强
学生姓名: 涂汉江 学 号: 6100410181 专业班级: 数媒101班
实验类型:□验证 ■综合 □设计 □创新 实验日期: 2013.06.01 实验成绩:
实验目的
用C语言实现图像的直方图均衡化处理。
实验要求
用C语言实现图像的直方图均衡化处理。
实验环境
PC机
VC6.0
实验原理
图像对比度增强的方法可以分成两类:一类是直接对比度增强方法;另一类是间接对比度增强方法。直方图拉伸和HYPERLINK /view/1164383.htm直方图均衡化是两种最
显示全部