захватить фрейм NTSCtoUSB ключ, opencv2, оболочку Python
Я играл с оболочкой Python для opencv2. Я хотел поиграть с несколькими идеями и использовать широкоугольную камеру, похожую на камеры заднего вида в автомобилях. Я получил один из сломанного аварийного автомобиля (у него было 4 провода). Я сделал обоснованное предположение о цветовой кодировке проводов, подключил его так, чтобы я питал линию электропитания и заземления от usb типа A и питал NTSC композитный + композитный - от разъем RCA. Я купил конвертер NTSC в USBкак этот.
Он поставляется с драйверами и некоторым программным обеспечением VHStoDVD.
проблема:Для пробного тестирования я воспользовался тестовыми примерами онлайн:
import numpy as np
import cv2
cam_index=0
cap=cv2.VideoCapture(cam_index)
print cap.isOpened()
ret, frame=cap.read()
#print frame.shape[0]
#print frame.shape[1]
while (cap.isOpened()):
ret, frame=cap.read()
#gray=cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
cv2.imshow('frame', frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
#release and close
cap.release()
cv2.destroyAllWindows()
это вывод из оболочки:
True
Traceback (most recent call last):
File "C:/../cam_capture_.py", line 19, in <module>
cv2.imshow('frame', frame)
error: ..\..\..\..\opencv\modules\highgui\src\window.cpp:261: error: (-215) size.width>0 && size.height>0 in function cv::imshow
>>>
Ключевые наблюдения:на панели управления USB-ключ отображается как «OEM-захват» в контроллерах Sound Video & Game. Так что это не просто веб-камера «подключи и работай» в разделе «Устройства обработки изображений».
Если я открываю программное обеспечение VHStoDVD, мне нужно настроить 2 аспекта:
установить как композитныйустановите enconding как NTSC, тогда подача камеры с аналоговой камеры будет отображаться нормально в приложении VHStoDVDКогда я открываю устройство видео канала в FLV (устройство захвата). Поток устройства - это просто черный экран, но если я открою программное обеспечение VHStoDVD, пока идет потоковая передача FLV, я получаю видео с камеры для потоковой передачи на FLV, а черный экран отображается на канале VHStoDVD. Еще одно важное отличие заключается в том, что при подаче в FLV подача составляет около 0,5 с, а не в VHStoDVD.
При запуске «cam_capture.py» в соответствии с приведенным выше примером кода в некоторых местах во время выполнения я в конечном итоге получу код ошибки остановки 0x0000008e:
деталь:
stop: 0x0000008E (0xC0000005, 0xB8B5F417, 0X9DC979F4, 0X00000000 )
ks.sys - Address B8B5F417 base at B8B5900, Datestamp...
beg mem dump
phy mem dump complete
5.Если я пытаюсь напечатать frame.shape [0] или frame.shape [1] я получаю сообщение об ошибке типа, например, я не могу напечатать тип None
6. если попробуйте другой cam_index, результат всегда ложный
TLDR:В «панели управления» устройство камеры находится в разделе «контроллеры звукового видео и игр», а не в разделе «устройства обработки изображений»;
Cam_index == ноль;
Capture.isOpened () = True;
Размер кадра Нет;
Если VHStoDVD работает с настроенным композитным NTSC, камера работает, очевидно, вы не можете видеть изображение с экраном печати во вложении, но поверьте мне! ;)
Существует ли какая-либо форма инициализации начала связи с ключом, которая могла бы исправить это, то есть эмулировать настройки VHStoDVD (композитный + NTSC)? Я думал, что смогу сгладить начало связи между VHStoDVD и ключом, но я чувствую, что я иду выше и дальше, чтобы сделать что-то, что я думал, было ключевым поворотным решением.
Любые конструктивные идеи, предложения, исправления приветствуются!
Спасибо
ура