hobart的个人博客分享 http://blog.sciencenet.cn/u/hobart

博文

工业领域机器视觉的算法原理与应用实践(3):直方图均衡化

已有 511 次阅读 2024-10-24 23:55 |系统分类:教学心得

直方图均衡化

1  算法理论

均衡化的目的是将原来灰度值非均匀分布图像,通过灰度值变换,变成一幅灰度值均匀分布的图像。如下图,直方图均衡化的目标是找到下面的映射函数:

s=T(r)

其中:r, s分布为图像映射前后的灰度值(为了计算方便,这里s进行了归一化)

图中浅蓝色分布为原图的灰度值分布图,p(r)为灰度值r对应的概率密度。根据概率分布理论,可以得到如下公式:

image.png

所以:

image.png

下面用一个实例进行直方图均衡化计算(参考:https://blog.csdn.net/qq_42593220/article/details/103227609),计算过程如下表:原图像的灰度值r_k8级(0,1/7,2/7,3/7,4/7,5/7,6/7,1),n_k为对应的像素个数,Pr_k为灰度值分布概率,T(r_k)为灰度值映射,s_k为映射后的灰度值向最近的灰度值等级靠近取值,s_k为映射后的灰度值等级(1/7,3/7,5/7,6/7,1),n_sk为每个等级的像素个数,P(s_k)为均衡后的灰度值概率分布

image.png

下图为均衡化前后的直方图:

2 代码实验

2.1 python代码

from skimage import io,data,exposure

import matplotlib.pyplot as plt

img=data.moon()

plt.figure("hist",figsize=(8,8))

arr=img.flatten()

plt.subplot(231)

plt.imshow(img,plt.cm.gray)  

plt.subplot(232)

plt.hist(arr, bins=256, density=True,edgecolor='None',facecolor='red') 

plt.subplot(233)

plt.hist(arr,bins=256, density=True, cumulative=True, label='CDF', histtype='step')

img1=exposure.equalize_hist(img)

arr1=img1.flatten()

plt.subplot(234)

plt.imshow(img1,plt.cm.gray)  

plt.subplot(235)

plt.hist(arr1*255, bins=256, density=True,edgecolor='None',facecolor='red') 

plt.subplot(236)

plt.hist(arr1*255,bins=256, density=True, cumulative=True, label='CDF', histtype='step')

plt.show()

说明:

1)图的上边分别为原图、灰度值概率分布和累计概率分布;

1)图的上边分别为均衡化后的图像、灰度值概率分布和累计概率分布。

2.2 halcon代码

halcon自带实例:equ_histo_image.hdev

read_image (Vessel, 'vessel')

equ_histo_image(Vessel, ImageEquHisto)

说明:

1'vessel’代表halcon自带图像目录下的'vessel.png图像文件;

2)左边为原图(上)和灰度直方图(下);

3)右边为均衡化后的图像(上)和灰度直方图(下)

image.png

注:本博客为本人讲授机器人视觉识别技术教案整理,使用教程为:机器视觉算法与应用,作者:[]Carten Steger等,清华大学出版社,2019年第2版,ISBN 978-7-302-51905-8。实验软件如下:

1)德国MVTec公司软件halcon 20.11.1.0,下载官网:https://www.mvtec.com/cn/products/halcon/free-halcon-trial,每月evaluation licenses下载地址:https://blog.csdn.net/qq_18620653/article/details/120033443

2python环境和核心库:anaconda + pycharmpython:3.8.16opencv-python:4.7.0.72



https://wap.sciencenet.cn/blog-3618661-1456855.html

上一篇:工业领域机器视觉的算法原理与应用实践(2):图像增强
收藏 IP: 59.172.114.*| 热度|

1 杨正瓴

该博文允许注册用户评论 请点击登录 评论 (2 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-11-1 09:27

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部