我对Neuroph 2.6的FractionRgbData
类Neuroph ImageRecognition有疑问。我不完全了解静态FractionRgbData.convertRgbInputToBinaryBlackAndWhite(double[] inputRGB)
方法的实现(请参见下面的方法的副本)。更具体地说,我不明白为什么在for循环条件下输入数组的长度除以3,并且for循环变量i
每次迭代也以3递增?我认为将输入数组除以3应该足够了。
请注意,此方法在ImageRecognitionHelper
类中使用,并且该类表明inputRGB
的双精度字来自FractionRgbData.getFlattenedRgbValues()
,可以在here中看到。据我了解,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;
}
最佳答案
Neuroph开发人员已在Neuroph的支持论坛上回答了上述问题。可以找到here。
简而言之,开发人员说实施不正确,无法正确转换为黑白。
关于java - Neuroph图像识别插件是否可以将RGB图像正确转换为黑白?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10466260/