Эффективно показывает OpenCV IplImage в Tkinter - PullRequest
1 голос
/ 28 октября 2011

У меня есть приложение, которое конвертирует OpenCV IplImages в Tkinter изображения в цикле отображения.Естественно, я хочу сделать это наиболее эффективным способом повышения отзывчивости приложения.

Вот как я сейчас это делаю (frame - это IplImage):

    pil_image = PIL.Image.fromstring(
            'RGB', 
            cv.GetSize(frame), 
            frame.tostring(), 
            'raw', 
            'BGR', 
            frame.width*3, 
            0)
    tk_image = ImageTk.PhotoImage(pil_image)

Таким образом, он преобразует все изображение OpenCV в строку, передает его через PIL, а затем преобразует из PIL в TK.Есть ли лучший способ?

1 Ответ

1 голос
/ 04 ноября 2011

Я не смог найти лучшего способа сделать это, поэтому я реорганизовал свое приложение, чтобы использовать highgui для отображения изображений OpenCV. Это вынуждает меня использовать дополнительное окно и дополнительный поток (один для Tkinter GUI для виджетов приложения и один для highgui), но по крайней мере таким образом приложение более отзывчиво.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...