基于MATLAB的直方图均衡化

本文探讨了直方图均衡化的概念,纠正了一种错误的映射方法,并提供了MATLAB代码实现直方图均衡化的示例,通过对比展示均衡化前后图像的变化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


读了几篇关于直方图均衡化的文章 终于发现让我百思不得其解的老师PPT上的映射方法是错的……


这是老师ppt上的内容 【正确的映射是不用除以N的】

说一下个人理解的直方图均衡化吧:

就是把原图像的频数(或频率)直方图每一根的高度不变,把他们分别移动到使直方图看起来最均衡的位置,这个最均衡的位置是指该条所对应的原图中的灰度值的累计频率乘以(L-1)

所以所谓均衡化的直方图,就是以原图的累计频率乘以(L-1)为横坐标,原图的频率为纵坐标做出的

MATLAB代码:


function [ B ] = Hist_Equ( A )
value=unique(A);%每个元素取一个数
freq=[]; 
for k=1:length(value)
temp=sum(sum(value(k)==A));%求每个元素的频数
freq=[freq;temp];
end

B=[value,freq];
B(1,4)=B(1,2)/sum(B(:,2));
for i=1:size(value,1)
    B(i,3)=B(i,2)/sum(B(:,2));%求每个元素的概率
    if i>1
        B
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值