- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数字图像处理实验报告_直方图均衡化
课 程 设 计
课程名称 数字图像处理
题目名称 直方图均衡化
学生学院 信息工程学院
专业班级 08级电信2班
学 号 3208002664
学生姓名 陈慕仪
指导教师 曹江中
2011 年 7 月 1 日
设计题目:直方图均衡化
1、直方图的理论基础:
(1)直方图概念:灰度直方图表示图像中每种灰度出现的频率。
反映一幅图像的灰度分布特性
式中:nk为图像中出现rk级灰度的像素数,n是图像像素总数,而nk/n即为频数。
2、设计目的: 产生一幅灰度级分布具有均匀概率密度的图像,达到了图象增强的目的
3、直方图均衡化的效果 :
1)变换后直方图趋向平坦,灰级减少,灰度合并。
2)原始象含有象素数多的几个灰级间隔被拉大了,压缩的只是象素数少的几个灰度级,实际视觉能够接收的信息量大大地增强了,增加了图象的反差。同时,也增加了图象的可视粒度。
4、离散情况下的直方图均衡化的算法:
A、列出原始图像的灰度级
B、统计各灰度级的像素数目
C、计算原始图像直方图各灰度级的频数
D、计算累积分布函数
F、应用以下公式计算映射后的输出图像的灰度级,P为输出图像灰度级的个数,其中INT
G、用的映射关系修改原始图像的灰度级,从而获得直方图近似为均匀分布的输出图像。
3、源程序代码
// cqxhistView.cpp : implementation of the CCqxhistView class
#include stdafx.h
#include cqxhist.h
#include cqxhistDoc.h
#include cqxhistView.h
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CCqxhistView
IMPLEMENT_DYNCREATE(CCqxhistView, CView)
BEGIN_MESSAGE_MAP(CCqxhistView, CView)
//{{AFX_MSG_MAP(CCqxhistView)
ON_COMMAND(ID_OPEN_IMAGE, OnOpenImage)
ON_COMMAND(ID_HIST_IMAGE, OnHistImage)
//}}AFX_MSG_MAP
// Standard printing commands
ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CCqxhistView construction/destruction
CCqxhistView::CCqxhistView()
{
// TODO: add construction code here
}
CCqxhistView::~CCqxhistView()
{
}
BOOL CCqxhistView::PreCreateWindow(CREATESTRUCT cs)
{
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
return CView::PreCreateWindow(cs);
}
/////////////////////////////////////////////////////////////////////////////
// CCqxhistView drawing
void CCqxhistView::OnDraw(CDC* pDC)
{
CCqxhistDoc* pDoc = GetDocument();
文档评论(0)