Neuroph 2.6のNeuroph ImageRecognitionのFractionRgbData
クラスに関する質問があります。私は静的なFractionRgbData.convertRgbInputToBinaryBlackAndWhite(double[] inputRGB)
メソッドの実装を完全に理解していません(下記のメソッドのコピーを参照)。具体的には、forループの条件で入力配列の長さを3で割ったときのforループの変数i
も繰り返しごとに3つずつインクリメントされているのはなぜですか?私は入力配列を3で割ると十分だと思います。Neuroph Image Recognition PluginはRGB画像をBlack/Whiteに正しく変換しますか?
このメソッドはImageRecognitionHelper
クラスで使用されていることを注意して、このクラスはinputRGB
ダブルhereを見ることができますFractionRgbData.getFlattenedRgbValues()
から来ていることを示しています。私が理解できる限り、inputRGB
ダブル配列には、画像の赤、緑、青のチャンネルが次々と含まれています。
誰かがこの実装を見ていただければうれしいですね。事前に
おかげで、
バリーNL
/**
* Converts image rgb data to binary black and white data
* @param inputRGB flatten rgb data
* @return binary black and white representation of image
*/
public static double[] convertRgbInputToBinaryBlackAndWhite(double[] inputRGB) {
double inputBinary[]= new double[inputRGB.length/3];
for(int i=0; i<inputRGB.length/3; i+=3) {
if (inputRGB>0) inputBinary = 0;
else inputBinary = 1;
}
return inputBinary;
}