Странный результат кодирования, который не имеет особого смысла. Я пытаюсь захватить с камеры raspberry pi с помощью драйвера V4L2, так как мне нужно использовать cv2 для обработки изображений. Я использую python для написания кода.
Странность вращается вокруг захвата изображений с использованием cv2. когда я набираю следующие команды
import cv2
from matplotlib import pyplot
camera = cv2.VideoCapture(0)
grab,frame = camera.read()
pyplot.imshow(frame)
Я могу захватить кадр и отобразить его с помощью matplotlib. Когда я беру второй кадр
grab,frame2 = camera.read()
pyplot.imshow(frame2)
Код захватит второй кадр и отобразит его отлично.
Однако, когда я пытаюсь использовать существующую переменную, например frame
или frame2
, камера не захватывает новый кадр, а просто печатает предыдущий кадр.
Я попытался очистить переменную, набрав
frame = []
grab,frame = camera.read()
pyplot.imshow(frame)
но это не решило проблему, по-прежнему печатая предыдущий кадр.
camera.read()
- person Mark Setchell   schedule 26.09.2018camera.read()
не выдает ошибку. Он генерирует матрицу HxWx3 с dtype = uint8. - person Hojo.Timberwolf   schedule 26.09.2018grab
устанавливается в True или False в зависимости от того, было ли чтение успешным. Я предлагал вам проверить это. - person Mark Setchell   schedule 26.09.2018camera.read()
. В качестве теста я установил cheese, чтобы проверить, смогу ли я получить видео через драйвер V4L2. Я смог просмотреть видео в полном порядке. Это должно быть проблемой с openCV 3.4.1 - person Hojo.Timberwolf   schedule 26.09.2018