NumPy массив установить размер изображения OpenCV - PullRequest
0 голосов
/ 28 июня 2018

Я получаю необработанные кадры в оттенках серого с устройства обработки изображений без указания размеров. Но я знаю, что размер необработанного кадра составляет 342х260 пикселей. После начальной обработки у меня есть массив ninty uint16 (массив 1d). Как я могу отобразить массив с помощью cv2.imshow?

cv2.imshow('image', npframe)
cv2.waitKey(0)
cv2.destroyAllWindows()

Все, что я получаю, это усталое окно, которое растягивается на весь экран:

enter image description here

1 Ответ

0 голосов
/ 28 июня 2018

Вы можете получить размер изображения с npframe.shape. Для полутонового изображения это вернет кортеж с двумя элементами (y, x), например (260, 342) для высоты и ширины, или для цветного (RGB / BGR) изображения, это вернет кортеж с тремя элементами (y, x, c) для высоты, ширины и количество каналов.

Вы можете установить размер окна из этого, сначала определив имя окна:

cv2.namedWindow('image', cv2.WINDOW_NORMAL)

Флаг WINDOW_NORMAL позволит вам изменить размер изображения:

cv2.resizeWindow('image', npframe.shape[1], npframe.shape[0])

, где npframe.shape[1] - размер изображения в измерении x, а npframe.shape[0] - размер изображения в измерении y.

Тогда ваша команда cv2.imshow('image', npframe) будет иметь размер изображения.

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