- 1、本文档共22页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
.
.
数字图像处理实验三
均值滤波、中值滤波的计算机实现 崔雪莹 计科1202班
一、实验目的:
1)熟悉均值滤波、中值滤波处理的理论基础;
2)掌握均值滤波、中值滤波的计算机实现方法;
3)学习VC++ 6。0 的编程方法;
4)验证均值滤波、中值滤波处理理论;
5)观察均值滤波、中值滤波处理的结果。
二、实验的软、硬件平台:
硬件: 微型图像处理系统,包括:主机, PC机;摄像机;
软件: 操作系统:WINDOWS2000或WINDOWSXP应用软件:VC++ 6.0
三、实验内容:
1)握高级语言编程技术;
2)编制均值滤波、中值滤波处理程序的方法;
3)编译并生成可执行文件;
4)考察处理结果。
四、实验要求:
1)学习VC++确6。0 编程的步骤及流程;
2)编写均值滤波、中值滤波的程序;
3)编译并改错;
4)把该程序嵌入试验二给出的界面中(作适当修改);
5)提交程序及文档;
6)写出本次实验的体会。
五、实验结果截图
实验均值滤波采用的是3X3的方块,取周围的像素点取得其均值代替原像素点。边缘像素的处理方法是复制边缘的像素点,增加一个边框,计算里面的像素值得均值滤波。
六、实验体会
本次实验在前一次的实验基础上增加均值滤波和中值滤波,对于椒盐噪声的处理,发现中值滤波的效果更为好一点,而均值滤波是的整个图像变得模糊了一点,效果差异较大。本次实验更加增加了对数字图像处理的了解与学习。
七、实验程序代码注释及分析
// HistDemoADlg.h : 头文件
//
#include ImageWnd.h
#pragma once
// CHistDemoADlg 对话框
class CHistDemoADlg : public CDialogEx
{
// 构造
public:
CHistDemoADlg(CWnd* pParent = NULL); // 标准构造函数
int nWidth;
int nHeight;
int nLen;
int nByteWidth;
BYTE *lpBackup;
BYTE *lpBitmap;
BYTE *lpBits;
CString FileName;
CImageWnd source,dest;
// 对话框数据
enum { IDD = IDD_HISTDEMOA_DIALOG };
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
// 实现
protected:
HICON m_hIcon;
// 生成的消息映射函数
virtual BOOL OnInitDialog();
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
DECLARE_MESSAGE_MAP()
public:
void LoadBitmap(void);
afx_msg void OnOpen();
afx_msg void OnHist();
void HistogramEq(void);
void NoColor(void);
void HistogramEq1(int nWidth,int nHeight,BYTE *lpInput,BYTE *lpOutput);
void MeanFilter(int nWidth,int nHeight,BYTE *lpInput,BYTE *lpOutput);
void MedianFilter(int nWidth,int nHeight,BYTE *lpInput,BYTE *lpOutput);
afx_msg void OnBnClickedClose();
afx_msg void OnBnClickedMeanfilter();
afx_msg void OnBnClickedMedianfilter();
};
HistDemoADlg.cpp对HistDemoADlg.h进行具体的实现,OnOpen()函数响应ID为IDC_OPEN的按钮事件,而且会调取文件选择对话框,选取文件之后,会显示在原始图像区域显示对应的位图图像,OnHist()函数会响应ID为IDC_HIST的按钮事件,调用HistogramEq()进行直方图均衡化的处理,HistogramEq()会调用HistogramEq1()进行直方图均衡化的处理,并用dst.setImage()显
文档评论(0)