2017-02-28 17 views
0

ヒストグラムを3つに分割し、3つの部分の範囲を定義します。ヒストグラムを3つに分割する

minRed = min(red(:)); 
maxRed = max(red(:)); 
AvgRed = (minRed+maxRed)/3; 
AvgRed2 = AvgRed+AvgRed; 

しかし、時にはAvgRedの値未満minRedなり、AvgRed2の値がmaxRedを超えます。これを行う正しい方法は何ですか?

+0

あなたは分裂の背後にあるロジックを述べてもらえますか? – Royi

答えて

0

私はそれは、単純な数学だと思う:

は、あなたが同じサイズの三つの部分に範囲を分割したいminRed = 10を想定し、maxRed = 100

minRed = 10; 
maxRed = 100; 


AvgRed40こと、およびAvgRed2がすべき必要があります70となります。

% minRed AvgRed AvgRed2 minRed 
% ------ ------ ------- ------ 
%1 10  40  70  100 
%| |  |  |  | 
%  <--------------------------> 
%    range 

%Calculate the range: 
range = maxRed - minRed; 

%Size of each part is third of the range. 
thirdRange = range/3; 

%Add 1/3 of range to minRed to get AvgRed (round it case value needs to be an integer). 
AvgRed = minRed + round(thirdRange); 

%Add 2/3 of range to minRed to get AvgRed2. 
AvgRed2 = minRed + round(thirdRange*2); 

あなたがそれを描画するときそれは簡単ですが...

関連する問題