随笔:0 文章:14 评论:7 引用:0
bobokids
放大自己
C++博客
首页
发新随笔
发新文章
联系
聚合
管理
直方图均衡子函数
/**/
/*
************************************************************************
直方图均衡子函数
***********************************************************************
*/
BOOL WINAPI InteEqualize(LPSTR lpDIBBits, LONG lWidth, LONG lHeight)
{
//
指向源图像的指针
unsigned
char
*
lpSrc;
//
临时变量
LONG lTemp;
//
循环变量
LONG i;
LONG j;
//
灰度映射表
BYTE bMap[
256
];
//
灰度映射表
LONG lCount[
256
];
//
图像每行的字节数
LONG lLineBytes;
//
计算图像每行的字节数
lLineBytes
=
WIDTHBYTES(lWidth
*
8
);
//
重置计数为0
for
(i
=
0
; i
<
256
; i
++
)
{
//
清零
lCount[i]
=
0
;
}
//
计算各个灰度值的计数
for
(i
=
0
; i
<
lHeight; i
++
)
{
for
(j
=
0
; j
<
lWidth; j
++
)
{
lpSrc
=
(unsigned
char
*
)lpDIBBits
+
lLineBytes
*
i
+
j;
//
计数加1
lCount[
*
(lpSrc)]
++
;
}
}
//
计算灰度映射表
for
(i
=
0
; i
<
256
; i
++
)
{
//
初始为0
lTemp
=
0
;
for
(j
=
0
; j
<=
i ; j
++
)
{
lTemp
+=
lCount[j];
}
//
计算对应的新灰度值
bMap[i]
=
(BYTE) (lTemp
*
255
/
lHeight
/
lWidth);
}
//
每行
for
(i
=
0
; i
<
lHeight; i
++
)
{
//
每列
for
(j
=
0
; j
<
lWidth; j
++
)
{
//
指向DIB第i行,第j个象素的指针
lpSrc
=
(unsigned
char
*
)lpDIBBits
+
lLineBytes
*
(lHeight
-
1
-
i)
+
j;
//
计算新的灰度值
*
lpSrc
=
bMap[
*
lpSrc];
}
}
//
返回
return
TRUE;
}
发表于 2008-09-28 03:21
晾衣竿
阅读(298)
评论(0)
编辑
收藏
引用
所属分类:
图像处理算法基础
只有注册用户
登录
后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
相关文章:
滤波器类
灰度拉伸
直方图均衡子函数
图象的平滑(去噪声)、锐化
图象的几何变换
位图和调色板的概念
对比度扩展
灰度直方图均衡化
网站导航:
博客园
IT新闻
BlogJava
博问
Chat2DB
管理
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
给我留言
查看公开留言
查看私人留言
文章分类
(12)
常用数学算法(1)
(rss)
机器视觉应用
(rss)
图像处理算法基础(8)
(rss)
图形识别(2)
(rss)
应用软件(1)
(rss)
文章档案
(14)
2008年9月 (14)
搜索
最新评论
1. re: 腐蚀,膨胀,细化算法
细化的代码根本就没法编译,一堆编译错误啊
--啊
2. re: 腐蚀,膨胀,细化算法
赞
--广泛的身高
3. re: 腐蚀,膨胀,细化算法
图6.10服饰结果图错误?坐下应该三列黑点
--jia66wei
4. re: 腐蚀,膨胀,细化算法
非常感谢!
--myjerry
5. re: 腐蚀,膨胀,细化算法
非常好哦,很详细
--jiashu
Powered By:
博客园
模板提供
:
沪江博客