如何利用matlab程序编写求出直方图上最大值百分之x处的灰度值若已知最大值M,如何求0.5*M所对应的灰度值
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/22 10:59:58
如何利用matlab程序编写求出直方图上最大值百分之x处的灰度值若已知最大值M,如何求0.5*M所对应的灰度值如何利用matlab程序编写求出直方图上最大值百分之x处的灰度值若已知最大值M,如何求0.
如何利用matlab程序编写求出直方图上最大值百分之x处的灰度值若已知最大值M,如何求0.5*M所对应的灰度值
如何利用matlab程序编写求出直方图上最大值百分之x处的灰度值
若已知最大值M,如何求0.5*M所对应的灰度值
如何利用matlab程序编写求出直方图上最大值百分之x处的灰度值若已知最大值M,如何求0.5*M所对应的灰度值
直方图统计的是灰度值出现的次数,可以不对图像做处理,直接显示直方图,这样它统计的就是灰度值的出现次数.例如:
x=imread('D:\ebook\lena.bmp');
x=rgb2gray(x);
imhist(x)
>> [conters,x1]=imhist(x);%%conters是各个灰度值出现的次数,x1是各个灰度值
>> [conters1,x11]=max(imhist(x))%%寻找最大值处
conters1 =
762
x11 =
153
conters1里面存的是各个灰度级的频数,x11里面是各个灰度级,如果把conters1和x11当做数组的话,那么x11数组中的序号1对应的灰度级就是0,2对应的灰度级就是1,所以只要找到conters1数组中你需要的百分之几*最大值的序号,直接减1后就是其灰度值
conters=imhist(x);%%该形式直接返回各个灰度级的频数
>> [m,n]=find(conters==0.5*762)%%找到你需要的频数,762为上面求的最大值
m =
107%%序号
n =
1
所以其0.5*762处对应的灰度值就是107-1=106