Я работаю над программой Python (2.7.13), которая считывает изображения с веб-камеры (обновляется в отдельном потоке), преобразует перспективу и помещает живое видео в окно на экране, используя opencv (3.2.0-dev). Я получаю очень мало FPS (13), обновляя выходное изображение 720x1280 с помощью cv2.imshow(). Если я удалю вызов cv2.imshow() и оставлю остальную часть цикла той же, она будет до 75 FPS. Что я должен использовать вместо cv2.imshow(), чтобы уменьшить это узкое место обновления изображения? Я использую MacBook Pro 2016 с выделенной графической картой.Как быстро обновить изображения на экране с помощью Python/OS-X и улучшить работу opensv imshow()
Нужно ли мне PyOpenGL для этого, и если да, то есть какие-либо четкие примеры документированы? Я пробовал блистательную функцию Пигама и не видел улучшения в FPS. Я рассматривал Pyglet, который использует OpenGL, но я не был знаком с парадигмой событий, используемых Pyglet, и не был готов переписать мой код, если окажется, что есть более подходящий способ сделать это, поскольку Pyglet, кажется, в основном для игры и некоторые источники говорят, что он не ухожен.
Благодарим вас за то, что указали мне в правильном направлении. Ответ на этот вопрос имеет код, который может быть адаптирован: [link] (http://stackoverflow.com/questions/18434348/converting-cv2-images-to-pysdl2-surfaces-for-blitting-to-screen#19554202) –