2015-06-11 1 views
0

i преобразовал цветное изображение в пространство Lab-color, и когда я отобразил значения Lab-image, я обнаружил, что значения пикселей на ось a и ось b больше, чем 128! в то время как значения по оси а и оси b должны быть от -128 до +128Значения лабораторных изображений на обеих осях a и b превышают диапазон

, пожалуйста, дайте мне знать, почему значения по оси а и оси b превышают диапазон?

Код:

Log.D(TAG, "main", "labImg.size(): " + labImg.size()); 
    Log.D(TAG, "main", "dst.dump() \n" + labImg.dump()); 
    Log.D(TAG, "main", "Luminance:dst.get(0, 9)[0]: " + labImg.get(0, 9)[0]); 
    Log.D(TAG, "main", "a-axis:dst.get(0, 9)[1]: " + labImg.get(0, 9)[1]); 
    Log.D(TAG, "main", "b-axis:dst.get(0, 9)[2]: " + labImg.get(0, 9)[2]); 

выход:

[82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20; 
82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20; 
82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20; 
82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20; 
82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20; 
82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20; 
82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20; 
82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20; 
82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20; 
82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20, 82, 207, 20] 
3: Debug: MainClass -> main: Luminance:dst.get(0, 9)[0]: 82.0 
4: Debug: MainClass -> main: a-axis:dst.get(0, 9)[1]: 207.0 
5: Debug: MainClass -> main: b-axis:dst.get(0, 9)[2]: 20.0 

ответ

1

Результаты для L*a*b* преобразования на 8-битных изображений автоматически масштабируется:

  • RGB < -> CIE L a b * (CV_BGR2Lab, CV_RGB2Lab, CV_Lab2BGR, CV_Lab2RGB).
    ...
    Это выходы 0 < = L < = 100, -127 < < = а = 127, -127 = < < б = 127. Значения затем преобразуются в тип данных назначения:

  • 8-битные изображения
    L < - L * 255/100, а < - а + 128, б < - б + 128

http://docs.opencv.org/java/2.4.9/org/opencv/imgproc/Imgproc.html#cvtColor(org.opencv.core.Mat,%20org.opencv.core.Mat,%20int)

+0

@ user2121 Это ответ на ваш вопрос, или вы все еще смущены чем-то? – beaker

Смежные вопросы