话不多说,直接上题。搞懂这道题,你就会计算直方图均衡化了
假定有一幅总像素为64×64的图像,灰度级数为8,
各灰度级分布列于下表中,
求原始图像直方图和直方图均衡化后的灰度级,
并画出均衡化后直方图的示意图。
| 原始图像灰度级k | 归一化灰度级![]() |
第k像素级像素个数![]() |
|||
| 0 | 0/7=0 | 790 | |||
| 1 | 1/7=0.1428 | 1023 | |||
| 2 | 2/7=0.2856 | 850 | |||
| 3 | 3/7=0.4258 | 656 | |||
| 4 | 4/7=0.5714 | 329 | |||
| 5 | 5/7=0.7142 | 245 | |||
| 6 | 6/7=0.8571 | 122 | |||
| 7 | 7/7=1 | 81 |
直方图均衡化步骤:
- 统计原图像直方图
- 计算新的灰度级,修正sk为合理灰度级
- 计算新的直方图
(1)统计原图像直方图
首先计算第k个像素出现的概率
(
),用第k个像素级个数
除以像素总个数,然后画出原始图像直方图
| 原始图像灰度级k | 归一化灰度级![]() |
第k像素级像素个数![]() |
第k个灰度级出现的概率 ( ) |
||
| 0 | 0/7=0 | 790 | 0.19 | ||
| 1 | 1/7=0.1428 | 1023 | 0.25 | ||
| 2 | 2/7=0.2856 | 850 | 0.21 | ||
| 3 | 3/7=0.4258 | 656 | 0.16 | ||
| 4 | 4/7=0.5714 | 329 | 0.08 | ||
| 5 | 5/7=0.7142 | 245 | 0.06 | ||
| 6 | 6/7=0.8571 | 122 | 0.03 | ||
| 7 | 7/7=1 | 81 | 0.02 |
(a)原图直方图
(2)计算新的灰度级并修正
为合理灰度级
s1=0.19 s2=0.19+0.25 s3=0.19+0.25+0.21 ………. s7=0.19+0.25+0.21+0.16+0.08+0.06+0.03+0.02
计算出
之后,对比
与
,寻找最接近
的
作为变换后的灰度级
| 原始图像灰度级k | 归一化灰度级![]() |
第k像素级像素个数![]() |
第k个灰度级出现的概率 ( ) |
![]() |
变换后灰度级 | ![]() |
p( ) |
| 0 | 0/7=0 | 790 | 0.19 | 0.19~1/7 | s1 | 790 | 0.19 |
| 1 | 1/7=0.1428 | 1023 | 0.25 | 0.44~3/7 | s3 | 1023 | 0.25 |
| 2 | 2/7=0.2856 | 850 | 0.21 | 0.65~5/7 | s5 | 850 | 0.21 |
| 3 | 3/7=0.4258 | 656 | 0.16 | 0.81~6/7 | s6 | 985 | 0.24 |
| 4 | 4/7=0.5714 | 329 | 0.08 | 0.89~6/7 | s6 | ||
| 5 | 5/7=0.7142 | 245 | 0.06 | 0.95~7/7 | s7 | 448 | 0.11 |
| 6 | 6/7=0.8571 | 122 | 0.03 | 0.98~7/7 | s7 | ||
| 7 | 7/7=1 | 81 | 0.02 | 1.00~7/7 | s7 |
(3)新的直方图
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/178134.html原文链接:https://javaforall.net
