ImageVerifierCode 换一换
格式:DOCX , 页数:40 ,大小:58.36KB ,
资源ID:4866788      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4866788.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(光学图象处理课程设计.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

光学图象处理课程设计.docx

1、光学图象处理课程设计光学图象处理实验(课程设计)指导说明书信息物理与工程系王振东2003年5月一、实验(课程设计)目的:通过本实验(课程设计),掌握数字图象处理的基本原理;掌握Visual C+、或Matlab、或VB等WINODWS编程软件的使用;掌握程序的编辑、编译和调试方法;掌握基本数字图象文件格式;掌握图象输入、输出软件接口。二、实验(课程设计)仪器PC微型计算机一台,Visual C+、或Matlab、或VB等WINODWS编程软件。实验样图及图像程序接口。三、实验(课程设计)原理在PC机平台及WINODWS操作系统上,以通用编程软件通过软件编程实现数字图象文件的读取、存储、显示,同

2、时设计一种或几种数字图象处理算法并调试实现,将处理结果以图象方式显示,完成数字图象处理的基本过程。四、实验(课程设计)步骤1 按要求进行设计选题(选题范围附后);2 查阅相关资料,筛选并确定算法;3 仔细阅读相关软件使用手册,了解软件编程方法;4 按格式输入编制好的程序;5 对程序进行编译,查找语法错误;6 根据编译过程指出的错误,修改错误,直到编译通过;7 开始调试算法,通过观察输出结果的变化,查找算法错误,直至算法调试正确;8 完成程序整理,并编译出最终版本的可执行程序;9 根据要求完成课程设计(实验)报告。五、实验(课程设计)要求在进行实验(课程设计)前要预习,必须基本掌握其中一种WIN

3、ODWS编程软件的使用。熟悉数字图象处理的基本原理和过程,掌握基本数字图象文件格式;掌握图象输入、输出软件接口。掌握设计数字图象处理算法的过程和方法并调试实现。六、实验(课程设计)结果实验(课程设计)报告。源程序和可执行程序。七、选题范围(一)通用选题1 图象编码:a.哈夫曼编码, b.游程长度编码,c.香农编码,d.其它熵编码;2 图象变换:a.快速二维离散傅氏变换, b.离散余弦变换,c.离散沃尔什变换,d.离散小波变换;3 图象增强:a.灰度级校正, b. 灰度级变换,c.直方图修正,d.直方图均衡,e.同态增晰,f.噪声平滑,g.中值滤波,h.锐化,i.几何校正;4 图象复原:a.反向

4、滤波, b. 最小二乘滤波,c.同态滤波,d.卡尔曼滤波;5 图象分割:a.阈值分割, b. 边界检测,c.骨架提取,d.区域生长,e.同分裂合并,f. 区域标记; 6 图象识别:a. 边界表达(链码,曲线拟合,转折能量法), b. 边界描述(矩形度,圆形度,矩,傅立叶形状描述),c. Hough变换,d. 广义Hough变换,e. 区域表达(四叉树,骨架),f. 区域描述(投影,不变矩),g. 纹理描述符,h.贝叶斯判决,i. 模板匹配;7 图象重建:a.傅立叶变换重建, b. 滤波反投影重建,c.代数迭代重建。(二)专用选题1光斑定位问题的研究。即通过对一个光斑图象的处理,精确地找出光斑的

5、中心坐标,并确定其定位精度;2数值方法提高图象分辨率的研究。即通过对一个图象的数学插值处理,获得比物理图象分辨率更高的图象,并对不同数学插值算法的效果和可实现性进行比较;3中值滤波算法的优化设计研究。包括效果优化和计算量优化。4图象匹配识别。即已知一幅标准图象,然后与其它图象进行比较,判断该图象与标准图象的匹配程度。5光学自动对焦算法。在光学系统成像过程中,通过所成的像清晰与否来判断光学系统的对焦是否准确。6自选。八、实验(课程设计)报告要求1标题、作者(可多人,但不超过三人,排名分先后);2背景或关于该类方法的概述。可在通用选题中一个题目中选择某一小类的问题进行研究,或选择一个专用选题讨论;

6、3所选择的方法的讨论(包括效果、可实现性,至少两种以上的方法,以及详细的实现流程);4源程序及详细说明;5结论,包括实际效果以及与预期的对比及原因分析;6参考文献,不少于8篇,必须有杂志文章4篇;7篇幅不少于4000字。九、实验(课程设计)报告样例数值方法提高图像分辨率的研究作者:XXX, XXX, XXX单位:南京理工大学摘要:本文采用了两种插值方法提高图像分辨率, (略) 本实验的程序是在VB环境中完成的。关键字:象素 分辨率一、提高图像分辨率的背景图像分辨率(即区分细节的程度)与采样点和灰度级的个数紧密相关。(略)二、预处理步骤直方图均衡化原理 :由于原图像较为暗淡,故采用直方图均衡化增

7、强其整体对比度。(略)流程图:计算量:乘法运算256*3=768次,加法运算lenx*leny+2*256=lenx*leny+512次。(略)三、两种插值方法 都是将预处理后的ii(lenx,leny)插值生成dest(2*lenx-1,2*leny-1),对应的原象素不加处理,边缘上的插值点采用简单的两点平均法,新行新列的插值点用四点平均法,所有的插值点都是用原象素矩阵生成的。1两点平均法原理:如图4.1,原行原列中的插值点取两点平均法,即为拉格朗日插值的线性处理。(略)2三次的拉格朗日插值法(略) 3对三次样条插值的讨论(略)所以要解得次线性方程组,(略)。四、结论:速度:由于本程序是在

8、VB环境中进行的,所以运行速度较慢,大约需3-4 秒钟才能出来一幅图像。两种方法的比较:(略)。六源程序及详细说明(略):七参考文献:(略)十、实验(课程设计)图象接口程序代码/ dibapi.h#ifndef _INC_DIBAPI#define _INC_DIBAPI/ DIB句柄DECLARE_HANDLE(HDIB);/ DIB常量#define PALVERSION 0x300/* DIB宏 */ 判断是否是Win 3.0的DIB#define IS_WIN30_DIB(lpbi) (*(LPDWORD)(lpbi) = sizeof(BITMAPINFOHEADER)/ 计算矩形区

9、域的宽度#define RECTWIDTH(lpRect) (lpRect)-right - (lpRect)-left)/ 计算矩形区域的高度#define RECTHEIGHT(lpRect) (lpRect)-bottom - (lpRect)-top)/ 在计算图像大小时,采用公式:biSizeImage = biWidth biHeight。/ 是biWidth,而不是biWidth,这里的biWidth必须是4的整倍数,表示/ 大于或等于biWidth的,离4最近的整倍数。WIDTHBYTES就是用来计算/ biWidth#define WIDTHBYTES(bits) (bits

10、) + 31) / 32 * 4)/ PCX文件头结构typedef struct BYTE bManufacturer; BYTE bVersion; BYTE bEncoding; BYTE bBpp; WORD wLeft; WORD wTop; WORD wRight; WORD wBottom; WORD wXResolution; WORD wYResolution; BYTE bPalette48; BYTE bReserved; BYTE bPlanes; WORD wLineBytes; WORD wPaletteType; WORD wSrcWidth; WORD wSrc

11、Depth; BYTE bFiller54; PCXHEADER;/ 函数原型BOOL WINAPI PaintDIB (HDC, LPRECT, HDIB, LPRECT, CPalette* pPal);BOOL WINAPI CreateDIBPalette(HDIB hDIB, CPalette* cPal);LPSTR WINAPI FindDIBBits (LPSTR lpbi);DWORD WINAPI DIBWidth (LPSTR lpDIB);DWORD WINAPI DIBHeight (LPSTR lpDIB);WORD WINAPI PaletteSize (LPST

12、R lpbi);WORD WINAPI DIBNumColors (LPSTR lpbi);WORD WINAPI DIBBitCount(LPSTR lpbi);HGLOBAL WINAPI CopyHandle (HGLOBAL h);BOOL WINAPI SaveDIB (HDIB hDib, CFile& file);HDIB WINAPI ReadDIBFile(CFile& file);BOOL WINAPI DIBToPCX256(LPSTR lpDIB, CFile& file);HDIB WINAPI ReadPCX256(CFile& file);#endif /!_IN

13、C_DIBAPI/ */ 文件名:dibapi.cpp/ DIB(Independent Bitmap) API函数库:/ PaintDIB() - 绘制DIB对象/ CreateDIBPalette() - 创建DIB对象调色板/ FindDIBBits() - 返回DIB图像象素起始位置/ DIBWidth() - 返回DIB宽度/ DIBHeight() - 返回DIB高度/ PaletteSize() - 返回DIB调色板大小/ DIBNumColors() - 计算DIB调色板颜色数目/ CopyHandle() - 拷贝内存块/ SaveDIB() - 将DIB保存到指定文件中/

14、ReadDIBFile() - 重指定文件中读取DIB对象/ DIBToPCX256() - 将指定的256色DIB对象保存为256色PCX文件/ ReadPCX256() - 读取256色PCX文件/ *#include stdafx.h#include dibapi.h#include #include #include #include /* Dib文件头标志(字符串BM,写DIB时用到该常数) */#define DIB_HEADER_MARKER (WORD) (M m_hObject; / 选中调色板 hOldPal = :SelectPalette(hDC, hPal, TRUE

15、); / 设置显示模式 :SetStretchBltMode(hDC, COLORONCOLOR); / 判断是调用StretchDIBits()还是SetDIBitsToDevice()来绘制DIB对象 if (RECTWIDTH(lpDCRect) = RECTWIDTH(lpDIBRect) & (RECTHEIGHT(lpDCRect) = RECTHEIGHT(lpDIBRect) / 原始大小,不用拉伸。 bSuccess = :SetDIBitsToDevice(hDC, / hDC lpDCRect-left, / DestX lpDCRect-top, / DestY REC

16、TWIDTH(lpDCRect), / nDestWidth RECTHEIGHT(lpDCRect), / nDestHeight lpDIBRect-left, / SrcX (int)DIBHeight(lpDIBHdr) - lpDIBRect-top - RECTHEIGHT(lpDIBRect), / SrcY 0, / nStartScan (WORD)DIBHeight(lpDIBHdr), / nNumScans lpDIBBits, / lpBits (LPBITMAPINFO)lpDIBHdr, / lpBitsInfo DIB_RGB_COLORS); / wUsage

17、 else / 非原始大小,拉伸。 bSuccess = :StretchDIBits(hDC, / hDC lpDCRect-left, / DestX lpDCRect-top, / DestY RECTWIDTH(lpDCRect), / nDestWidth RECTHEIGHT(lpDCRect), / nDestHeight lpDIBRect-left, / SrcX lpDIBRect-top, / SrcY RECTWIDTH(lpDIBRect), / wSrcWidth RECTHEIGHT(lpDIBRect), / wSrcHeight lpDIBBits, / lp

18、Bits (LPBITMAPINFO)lpDIBHdr, / lpBitsInfo DIB_RGB_COLORS, / wUsage SRCCOPY); / dwROP / 解除锁定 :GlobalUnlock(HGLOBAL) hDIB); / 恢复以前的调色板 if (hOldPal != NULL) :SelectPalette(hDC, hOldPal, TRUE); / 返回 return bSuccess;/* 函数名称:* CreateDIBPalette()* 参数:* HDIB hDIB - 指向DIB对象的指针* CPalette* pPal - 指向DIB对象调色板的指针

19、* 返回值:* BOOL - 创建成功返回TRUE,否则返回FALSE。* 说明:* 该函数按照DIB创建一个逻辑调色板,从DIB中读取颜色表并存到调色板中,* 最后按照该逻辑调色板创建一个新的调色板,并返回该调色板的句柄。这样* 可以用最好的颜色来显示DIB图像。*/BOOL WINAPI CreateDIBPalette(HDIB hDIB, CPalette* pPal) / 指向逻辑调色板的指针 LPLOGPALETTE lpPal; / 逻辑调色板的句柄 HANDLE hLogPal; / 调色板的句柄 HPALETTE hPal = NULL; / 循环变量 int i; / 颜色

20、表中的颜色数目 WORD wNumColors; / 指向DIB的指针 LPSTR lpbi; / 指向BITMAPINFO结构的指针(Win3.0) LPBITMAPINFO lpbmi; / 指向BITMAPCOREINFO结构的指针 LPBITMAPCOREINFO lpbmc; / 表明是否是Win3.0 DIB的标记 BOOL bWinStyleDIB; / 创建结果 BOOL bResult = FALSE; / 判断DIB是否为空 if (hDIB = NULL) / 返回FALSE return FALSE; / 锁定DIB lpbi = (LPSTR) :GlobalLock

21、(HGLOBAL) hDIB); / 获取指向BITMAPINFO结构的指针(Win3.0) lpbmi = (LPBITMAPINFO)lpbi; / 获取指向BITMAPCOREINFO结构的指针 lpbmc = (LPBITMAPCOREINFO)lpbi; / 获取DIB中颜色表中的颜色数目 wNumColors = :DIBNumColors(lpbi); if (wNumColors != 0) / 分配为逻辑调色板内存 hLogPal = :GlobalAlloc(GHND, sizeof(LOGPALETTE) + sizeof(PALETTEENTRY) * wNumColo

22、rs); / 如果内存不足,退出 if (hLogPal = 0) / 解除锁定 :GlobalUnlock(HGLOBAL) hDIB); / 返回FALSE return FALSE; lpPal = (LPLOGPALETTE) :GlobalLock(HGLOBAL) hLogPal); / 设置版本号 lpPal-palVersion = PALVERSION; / 设置颜色数目 lpPal-palNumEntries = (WORD)wNumColors; / 判断是否是WIN3.0的DIB bWinStyleDIB = IS_WIN30_DIB(lpbi); / 读取调色板 fo

23、r (i = 0; i palPalEntryi.peRed = lpbmi-bmiColorsi.rgbRed; / 读取绿色分量 lpPal-palPalEntryi.peGreen = lpbmi-bmiColorsi.rgbGreen; / 读取蓝色分量 lpPal-palPalEntryi.peBlue = lpbmi-bmiColorsi.rgbBlue; / 保留位 lpPal-palPalEntryi.peFlags = 0; else / 读取红色分量 lpPal-palPalEntryi.peRed = lpbmc-bmciColorsi.rgbtRed; / 读取绿色分量

24、 lpPal-palPalEntryi.peGreen=lpbmc-bmciColorsi.rgbtGreen; / 读取红色分量 lpPal-palPalEntryi.peBlue = lpbmc-bmciColorsi.rgbtBlue; / 保留位 lpPal-palPalEntryi.peFlags = 0; / 按照逻辑调色板创建调色板,并返回指针 bResult = pPal-CreatePalette(lpPal); / 解除锁定 :GlobalUnlock(HGLOBAL) hLogPal); / 释放逻辑调色板 :GlobalFree(HGLOBAL) hLogPal); / 解除锁定 :GlobalUnlock(HGLOBAL) hDIB);

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1