matlab histeq函数做直方图规定化

matlab histeq函数做直方图规定化,第1张

严格一点来说,直方图均衡化和直方图规定化是不同的概念。histeq是用来做直方图均衡的。

hgram是均衡化后的灰度级个数。

比如histeq(I, 16),就是希望均衡化后的直方图只有16个灰度级;

histeq(I, 64),就是希望均衡化后的直方图只有64个灰度级。

假设原始图像为256级,共有X个像素,现希望均衡化为N个灰度级,过程如下:

步骤1:计算原始图像I的累积函数A(g),其中g=[0,255]表示256个灰度级。

A(0)就是灰度级为0的元素个数;

A(1)就是灰度级为0和1的元素个数和;

A(2)就是灰度级为0、1和2的元素个数和;

依次类推;

A(255)就是X,即原始图像的总的像素个数。

步骤2:计算原始直方图和均衡化后直方图的映射关系g->G,即将原始图像中的灰度值g变成新的灰度值G。

这里,G=NA(g)/X

步骤3:遍历原始图像I,依据步骤2中的映射关系,把所有像素点的灰度值变成新的灰度值,完毕。

你好,

matlab直方图均衡化的函数只有一个histeq,就是你说的那个。它是用于图像处理的。如果你的直方图不是图像处理的直方图,请给我短消息,我可以把算法给你。

histeq的作用是把“图像”的直方图均衡化。

简单的说,有些图像有太多的亮点或者有太多的暗点。histeq通过一个算法,把亮度重新分配,让人看得舒服自然。比如说原来的点都集中在暗处,1-25之间,histeq就可以把25亮度的点“拉”到255处,24“拉”到240处最后图像的细

J = histeq(I,hgram) 将原始图像I的直方图变成用户指定的向量hgram。hgram中的各元素的值域为[0,1]。[0,255][0,65535] 例如,lena的直方图执行语句 histeq(I)和histeq(I,[0,10,20,30,40,90,120,150,210,256]); 的区别:

用matlab实现图像的直方图均衡化

代码:

clear;

f=imread('c:/largejpg');

f=rgb2gray(f);

imshow(f);

figure,imhist(f);

ylim('auto');

g=histeq(f,256);

figure,imshow(g);

figure,imhist(g);

ylim('auto');

以上就是关于matlab histeq函数做直方图规定化全部的内容,包括:matlab histeq函数做直方图规定化、matlab里直方图均衡化用什么函数、MATLAB直方图均衡化函数histeq等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9459517.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存