当前位置:编程学习 > Matlab >>

求Matlab统计灰度值的代码

最好能有两图像的对比分析
答案:理,直接显示直方图,这样它统计的就是灰度值的出现次数。例如:
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

上一个:matlab程序运行时,发现后面代码有错,于是改过来,但原来程序还在运行未改前的前面部分
下一个:求高手matlab画图。原代码。。

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,