中南大学图像处理实验报告

上传人:206****923 文档编号:90619459 上传时间:2019-06-14 格式:DOC 页数:28 大小:1.87MB
返回 下载 相关 举报
中南大学图像处理实验报告_第1页
第1页 / 共28页
中南大学图像处理实验报告_第2页
第2页 / 共28页
中南大学图像处理实验报告_第3页
第3页 / 共28页
中南大学图像处理实验报告_第4页
第4页 / 共28页
中南大学图像处理实验报告_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《中南大学图像处理实验报告》由会员分享,可在线阅读,更多相关《中南大学图像处理实验报告(28页珍藏版)》请在金锄头文库上搜索。

1、数字图像处理实验报告学院:信息科学与工程学院姓名: * 班级:*学号:*指导老师:罗三定实验1 PhotoShop功能操作一、实验目的1、了解数码相机基本使用。2、熟悉PHOTOSHOP在图像处理上的用途。3、掌握PHOTOSHOP一些基本的图像操作。二、实验内容1、观察图像大小(宽与高像素)。图像菜单中图像大小选项图1,图像大小2、改变图像大小。在上述图像大小窗口改变数值就可以改变图像大小。3、观察各处的RGB值、色度、亮度、饱和度的值。将鼠标移动到图上各处,在右侧信息栏里可以看到RGB值。图2,RGB值再取颜色取样工具,右键点击图片,选择HSB即为色度亮度饱和度的值。图3,HSB值4、单独

2、观察红色、绿色、蓝色分量图像。右下角选择通道,选择不同通道即可观察红色,绿色,蓝色分量图像图4,红色分量图图5,绿色分量图图6,蓝色分量图5、将彩色图像转换为灰度图像,存盘后观察文件大小。先选择图像模式灰度,选择扔掉图7,灰度图像然后另存为bmp格式的图像,可以看出文件大小变小了很多。6、观察图像的直方图。 直接在右侧栏可观察到直方图。图8,直方图7、改变图像的亮度、对比度、饱和度,观察操作结果。在图像中选择调整亮度/对比度即可调整然后观察效果同样在调整中选择色相饱和度。即可调整饱和度8、以不同阈值二值化图像。在图像调整阈值,可以调整色阶,观察不同阈值二值化图像。图9,观察不懂阈值二值化图像实

3、验2 Photoshop图像处理实验一、实验目的1、了解bmp图像的数据存储形式。2、学习使用不同的滤波方法处理图像。3、掌握PHOTOSHOP一些图像增强处理方法。二、实验内容1、打开一个bmp图像2、自定义滤波器处理图像。(1)滤波中选择自定义图像有一定程度的模糊。常用的图像平滑模板有:、选择第一种模板,得到(2)从频谱的角度分析,图像的锐化类似于一个高通滤波器。常用的锐化模板有:、等。这两个模板又称为拉普拉斯模板。选择第二个模板得到(3)边缘查找又称为边缘检测,边缘是指周围像素灰度发生阶跃型或凸缘型变化的像素的集合。常用的边缘检测算子,包括Sobel、Prewitt、Krisch、Lap

4、lace算子等。这里采用Sobel得到图像3、练习使用模糊、锐化、涂抹、减淡和加深等工具进行图像的编辑。这些工具都在右侧工具栏可以找到,比如说锐化工具和模糊工具减淡加深工具:实验3 图像处理编程实验一、实验目的1、熟悉VB或VC的基本编程方法。2、了解bmp位图文件的结构。3、掌握灰度直方图的原理及绘制过程。二、实验内容1、读取BMP位图文件 BMP 位图包括位图文件头结构BITMAPFILEHEADER 、位图信息头结构BITMAPINFOHEADER、位图颜色表 RGBQUAD 和位图像素数据四部分。处理位图时要根据文件的这些结构得到位图文件大小、位图的宽、高、实现调色板、得到位图像素值等

5、等。对于256 级灰度图像每个像素用 8bit 表示颜色的索引值,这里要注意的一点是在 BMP位图中,位图的每行像素值要填充到一个四字节边界,即位图每行所占的存储长度为四字节的倍数,不足时将多余位用0 填充。 在处理图像应用程序的文档类(CdibDoc.h)中声明如下宏及公有变量: #define WIDTHBYTES(bits) (bits) + 31) / 32 * 4)/ 计算图像每行象素所占的字节数目 HANDLE m_hDIB;/存放位图数据的句柄 CPalette* m_palDIB;/指向调色板Cpalette类的指针 CSize m_sizeDoc; file:/ 初始化视图的

6、尺寸 根据BMP 位图文件的结构,操作 BMP 位图文件读入数据,重载了文挡类的OnOpenDocument 函数如下: BOOL CDibDoc:OnOpenDocument(LPCTSTR lpszPathName) CFile file; CFileException fe; if (!file.Open(lpszPathName, Cfile:modeRead | Cfile:shareDenyWrite, &fe) AfxMessageBox(文件打不开); return FALSE; /打开文件 DeleteContents();/删除文挡 BeginWaitCursor(); B

7、ITMAPFILEHEADER bmfHeader;/定义位图文件头结构 DWORD dwBitsSize; HANDLE hDIB; LPSTR pDIB; BITMAPINFOHEADER *bmhdr;/指向位图信息头结构的指针 dwBitsSize = file.GetLength();/ 得到文件长度 if (file.Read(LPSTR)&bmfHead er, sizeof(bmfHeader) != sizeof(bmfHeader) return FALSE; if (bmfHeader.bfType != 0x4d42) file:/ 检查是否为 BMP文件 return

8、 FALSE; hDIB=(HANDLE) :GlobalAlloc(GMEM_MOVEABLE | GMEM_ZEROINIT, dwBitsSize); file:/申请缓冲区 if (hDIB = 0) return FALSE; pDIB = (LPSTR) :GlobalLock(HGLOBAL)hDIB); file:/得到申请的缓冲区的指针 if (file.ReadHuge(pDIB, dwBitsSize - sizeof(BITMAPFILEHEADER) != dwBitsSize - sizeof(BITMAPFILEHEADER) ) :GlobalUnlock(HG

9、LOBAL)hDIB); hDIB=NULL; return FALSE; /读数据,包括位图信息、位图颜色表、图像像素的灰度值 bmhdr=(BITMAPINFOHEADER*)pDIB;/ 为指向位图信息头结构的指针付值 :GlobalUnlock(HGLOBAL)hDIB); if (*bmhdr).biBitCount!=8) file:/ 验证是否为8bit 位图 return FALSE; m_hDIB=hDIB; InitDIBData(); file:/自定义函数,根据读入的数据得到位图的宽、高、颜色表 file:/ 来得到初始化视的尺寸、生成调色板 EndWaitCursor

10、(); SetPathName(lpszPathName);/ 设置存储路径 SetModifiedFlag(FALSE); / 设置文件修改标志为FALSE return TRUE; 为了将图像处理后所得到的像素值保存起来,重载了文档类的OnSaveDocument函数,其具体实现如下: BOOL CDibDoc:OnSaveDocument(LPCTSTR lpszPathName) CFile file; CFileException fe; BITMAPFILEHEADER bmfHdr; / 位图文件头结构 LPBITMAPINFOHEADER lpBI; file:/指向位图信息结

11、构的指针 DWORD dwDIBSize; if (!file.Open(lpszPathName, Cfile:modeCreate | Cfile:modeReadWrite | Cfile:shareExclusive, &fe) AfxMessageBox(文件打不开); /打开文件 BOOL bSuccess = FALSE; BeginWaitCursor(); lpBI = (LPBITMAPINFOHEADER) : GlobalLock(HGLOB AL) m_hDIB); if (lpBI = NULL) return FALSE; dwDIBSize = *(LPDWOR

12、D)lpBI + 256*sizeof(RGBQUAD); / Partial Calculation DWORD dwBmBitsSize;/BMP 文件信息结构所占的字节数 dwBmBitsSize=WIDTHBYTES(lpBI-biWidth)*(DWORD)lpBI-biBitCount) *lpBI-biHeight;/ 存储时位图所有像素所占的总字节数 dwDIBSize += dwBmBitsSize; lpBI-biSizeImage = dwBmBitsSize; / 位图所有像素所占的总字节数 file:/以下五句为文件头结构填充值 bmfHdr.bfType =0x4d

13、42; / 文件为BMP 类型 bmfHdr.bfSize = dwDIBSize + sizeof(BITMAPFILEHEADER);/ 文件总长度 bmfHdr.bfReserved1 = 0; bmfHdr.bfReserved2 = 0; bmfHdr.bfOffBits = (DWORD)sizeof(BITMAPFILEHEADER) + lpBI-biSize + 256*sizeof(RGBQUAD); file:/位图数据距问件头的偏移量 file.Write(LPSTR)&bmfHdr, sizeof(BITMAPFILEHEADER);/写文件头 file.WriteHuge(lpBI, dwDIBSize); file:/将位图信息(信息头结构、颜色表、像素数据)写入文件 :GlobalUnlock(HGLOBAL) m_hDIB); EndWaitCursor(); SetModifiedFlag(FALSE); / back to unmodified return TRUE; 灰度图像要正确显示,必须实现逻辑调色板和系统调色板,通过在主框架类中处理Windo

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号