Grab Frame NTSCtoUSB-Dongle, OpenCV2, Python-Wrapper

Kontext:

Ich habe mit Pythons Wrapper für opencv2 rumgespielt. Ich wollte mit ein paar Ideen spielen und eine Weitwinkelkamera verwenden, ähnlich wie Rückfahrkameras in Autos. Ich habe eines von einem Unfallauto bekommen (es hat 4 Drähte). Ich habe eine Vermutung über die Farbcodierung der Drähte angestellt, es so angeschlossen, dass ich die Strom- und Masseleitung von einem USB-Typ A mit Strom versorge und das NTSC-Composite + Composite- von speise ein Cinch-Anschluss. Ich habe einen NTSC in USB Konverter gekauftwie dieser.

Es wurde mit Treibern und einer handelsüblichen VHStoDVD-Software geliefert.

das Problem:

Ich habe den Online-Testlauf der Mühlenbeispiele verwendet, um sie folgendermaßen zu testen:

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() 

Dies ist die Ausgabe von Shell:

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

>>> 
Schlüsselbemerkungen:

SCREENSHOTS

In der Systemsteuerung wird der USB-Dongle in Audio-, Video- und Gamecontrollern als "OEM-Erfassung" angezeigt. Es handelt sich also nicht um eine einfache Plug-and-Play-Webcam in "Bildbearbeitungsgeräten".

Wenn ich die VHStoDVD-Software öffne, muss ich zwei Aspekte konfigurieren:

als zusammengesetzt festlegenAls NTSC eingestellt, wird der Kamera-Feed von der analogen Kamera in der VHStoDVD-Anwendung als OK angezeigt

Wenn ich den Gerätevideokanal in FLV öffne (Geräteerfassung). Der Gerätestream ist nur ein schwarzer Bildschirm, aber WENN ich die VHStoDVD-Software öffne, WÄHREND FLV streamt, wird der Feed der Kamera auf FLV gestreamt, und auf dem VHStoDVD-Feed wird ein schwarzer Bildschirm angezeigt. Ein weiterer wichtiger Unterschied ist, dass es eine enorme Latenz von ca. 0,5 Sekunden gibt, wenn sich der Feed im FLV-Modus befindet und nicht im VHStoDVD-Modus.

Beim Ausführen von "cam_capture.py" gemäß dem obigen Beispielcode zu einem bestimmten Zeitpunkt während der Laufzeit erhalte ich schließlich den Stop-Fehlercode 0x0000008e:

Detail:

stop: 0x0000008E (0xC0000005, 0xB8B5F417, 0X9DC979F4, 0X00000000 )

ks.sys - Address B8B5F417 base at B8B5900, Datestamp...

beg mem dump
phy mem dump complete

5.Wenn ich versuche, frame.shape [0] oder frame.shape [1] zu drucken, erhalte ich eine Fehlermeldung, dass ich den Typ None nicht drucken kann

6.Wenn Sie einen anderen cam_index versuchen, ist das Ergebnis immer falsch

TLDR:

In der 'Systemsteuerung' befindet sich das Kameragerät unter 'Audio-, Video- und Gamecontroller', nicht unter 'Bildbearbeitungsgeräte'.

Der cam_index == Null;

Die capture.isOpened () = True;

Die Rahmengröße ist Keine.

Wenn VHStoDVD mit zusammengesetztem NTSC ausgeführt wird und die Kamera funktioniert, können Sie das Bild mit dem Druckbildschirm im Anhang natürlich nicht sehen, aber vertrauen Sie mir! ;)

Gibt es irgendeine Form der Initialisierung des Kommunikationsstarts mit dem Dongle, die dies beheben könnte, d. H. VHStoDVD-Einstellungen emulieren (Composite + NTSC)? Ich dachte, ich könnte den Beginn der Kommunikation zwischen VHStoDVD und dem Dongle mit Buspiraten verfolgen, aber es scheint, als würde ich alles daran setzen, um etwas zu tun, von dem ich dachte, dass es eine wichtige Lösung wäre.

Alle konstruktiven Einsichten, Vorschläge, Korrekturen sind herzlich willkommen!

Vielen Dank

Prost

Antworten auf die Frage(3)

Ihre Antwort auf die Frage