У меня возникают некоторые проблемы с возможностью применения LUT к изображениям с использованием openCV (4.0.0) в python 3.6.5
Начиная с LUT (таблица поиска) из 256 элементов, как указано вдокументация и попытка применить его к «однострочному исходному изображению» (поскольку более сложные изображения также вызывали у меня проблемы) всегда выдают ошибку утверждения о том, что каналы не совместимы, не являются непрерывными или неправильнымитип данных (8 бит).
Но все кажется правильным при печати информации о векторах, размерах и каналах, типе данных, и я предполагаю (но я не знаю, как проверить в python) непрерывность, чтобы быть в порядкетоже.
Есть идеи, почему я не могу применить LUT?
Я создал пользовательскую функцию для печати информации о массивах print_2Darray_Info (), чтобы проверить форму, тип данных, среднееи максимальные / минимальные значения.
_______ КОД _________
customColorPalette = numpy.asarray([(255,255,255), ... , ( 255,150,0)],dtype=numpy.uint8)
testIMG = numpy.asarray([(1,1,1), ... ,( 255,255,0)],dtype=numpy.uint8)
print_2Darray_Info(customColorPalette,"customColorPalette")
print_2Darray_Info(test001,"test001")
cv2.LUT(arr8C3,customColorPalette)
_______ ВЫХОД _________
Array info for 'customColorPalette' ==> shape: (256, 3) Mean: 186.94661458333334 datatype: <class 'numpy.uint8'> Max and Min: 255 0
Array info for 'test001' ==> shape: (256, 3) Mean: 183.97005208333334 datatype: <class 'numpy.uint8'> Max and Min: 255 0
---------------------------------------------------------------------------
error Traceback (most recent call last)
<ipython-input-192-aff71f46c372> in <module>
11 print_2Darray_Info(customColorPalette,"customColorPalette")
12 print_2Darray_Info(test001,"test001")
---> 13 cv2.LUT(testIMG,customColorPalette)
error: OpenCV(4.0.0) C:\projects\opencv-python\opencv\modules\core\src\lut.cpp:368: error: (-215:Assertion failed) (lutcn == cn || lutcn == 1) && _lut.total() == 256 && _lut.isContinuous() && (depth == CV_8U || depth == CV_8S) in function 'cv::LUT'
Я пытался применить LUT to изображения с этими формами и получают ту же ошибку: shape: (120, 160, 3) shape: (120, 160) shape: (120, 3) shape: (256, 3)
Я ожидалподтверждение успеха и применение LUT к образу src.