Я пишу немного gui для тестирования opencv-функций - чтобы легко изменять значения параметров (для определения порога, обнаружения пятен и т. Д.). Я начал писать gui, используя tkinter, и получил результат с функцией Image.fromarray - мое изображение получило синий оттенок; когда я показываю cv2.imshow, нет такого оттенка, поэтому он должен быть артефактом ofarry, I blv. Я проверил режим и его RGB, как ожидалось. Пара изображений находится до и после обнаружения блоба (который рисует маленькие круги). Левая пара - opencv, а правая пара - в моем tkinter gui.Функция PIL fromarray дает wierd colormap
tk_img=Image.fromarray(newImg)
tk_photo=ImageTk.PhotoImage(tk_img)
mod=tk_img.mode
print('mode:'+str(mod))
label1 = Tkinter.Label(self, image=tk_photo)
label1.image = tk_photo
label1.grid(row = Imrow, column = Im2col, columnspan = Im2col, sticky=Tkinter.NW)
self.update()
cv2.imshow('orig', currentImg)
cv2.waitKey(0)
cv2.imshow('current', newImg)
cv2.waitKey(0)
cv2.destroyAllWindows()
Так что я сделал запутано обходной путь сохранения изображения в файл и темп чтения: г = cv2.imwrite («temp.jpg», IMG) tk_img = Image.open ('temp.jpg') tk_photo = ImageTk.PhotoImage (tk_img) –
Я бы посмотрел, делает ли подушка одинаковой или если это исправлено в патче. (Подушка также работает на 3.x.) –