以下のような一連の数値を含むこの配列があります。これは、y
軸内のピクセル数のシーケンスです (水平投影ヒストグラム)。
[ 0 0 3 13 16 16 18 19 19 18 14 10 8 0 0 0 0 0 7 13 15 16 19 20 18 17 14 9 0 0 0 0 ]
^ ^
start end
この配列内の各サブシーケンスの開始インデックスと終了インデックスを見つけるにはどうすればよいですか?
この例で私が期待するのは、最初のサブシーケンス: startIndex = 2, endIndex = 12
と2 番目のサブ startIndex = 18, endIndex = 27
シーケンス: のようなものです。
私が思いついたもの:
for(int i =0; i<pixels.length; i++){
System.out.println(pixels[i]);
if(pixels[i] != 0) {
start = i;
System.out.println("start= " + start );
} else if(pixels[i] == 0){
end = i;
System.out.println("end= " + end);
}
}
助けていただければ幸いです。