数字图像处理课程综合实习
实习报告
实习一 将RAW图像格式转换成BMP图像格式
一、 实习目的和意义
熟悉常用的图像文件格式与格式转换,认识各图像格式的优缺点;掌握RAW和BMP格式的存储和读取,编程实现RAW—〉BMP格式的转换,为读取各种格式文件打基础。
二、实习原理和方法
RAW格式:文件按照数字图像组成的二维矩阵,将像素按行列号顺序存储在文件中。这种文件只含有图像像素数据,不含有信息头,因此,在读图像时,需要根据文件大小,计算图像所包含的行列号,或者需要事先知道图像大小(矩阵大小)。但这种文件读取和保存简单。
RAW文件按图像上行到下行、左列到右列顺序存储,而BMP文件数据区按图像上下行到上行、左列列到右列顺序存储到数据区。
实现RAW文件到BMP文件的转换,需要为BMP文件生成文件头、信息头、颜色表、数据区,将RAW文件数据区赋值到BMP文件数据区。
三、实习过程和步骤
1、 根据学号新建自己的文件夹:F:\09031_2009302590120;
2、 使用AppWizard生成一个基于多文档的项目2009302590120;
3、 将CxxxxView类的基类设为CscrollView类,使项目显示图像时支持滚动条;
4、 添加菜单项“RAW-〉BMP”,并建立相应的消息处理函数;
5、 新建Raw->Bmp对话框,并建立对话框类,为对话框类定义成员变量和成员函数。
6、 在函数体内添加自己的代码,实现RAW的读取,并实现RAW到BMP格式的转换功能。
void CRawToBmpDlg::OnButtonSeeraw()
{
CFileDialog dlg(TRUE);
if(dlg.DoModal()==IDOK)
{
m_sRawIn=dlg.GetPathName();
…… …… 余下全文