matlab中的直方图平铺值

时间:2013-02-18 08:07:02

标签: matlab histogram threshold

我正在做一个'保持阈值'的项目.. 在进行某些操作之后,我们得到p(p0,p1,p2,p3 ......)的某些值,并且从图像的直方图中找到输出(阈值),选择阈值作为P0-tile。 p(p0,p1,p2 ......)的值是小于1的分数(比如0.34,0.46) 我的问题是如何从直方图中找到这些分数值瓦片的值。

PS:我在MAT实验室中这样做

我是新的堆叠溢出所以我无法发布图像.. 任何人都可以帮助我..

1 个答案:

答案 0 :(得分:0)

您需要使用累积分布

[n x] = hist( I(:), 1000 ); % 1000 bin histogram
density = n/sum(n);
cdf     = cumsum(density); % sums to one
% Choosing a thershold such that fraction p of the pixels are below it
thri = find( cdf >= p , 1, 'first' );  % edit here from < to >=
thr = x( thri );