Python opencv und Multiprocessing

8

Ich möchte das Multiprocessing-Modul für Python verwenden, um einen Prozess zu erstellen, der kontinuierlich eine Webcam über die Python-Schnittstelle von opencv abfragt und alle resultierenden Bilder an eine Warteschlange sendet, von der andere Prozesse darauf zugreifen können. Allerdings stolpere ich (Python 2.7 unter Ubuntu 12.04) immer dann, wenn ich versuche, etwas mit den Bildern zu tun, die von anderen Prozessen aus der Warteschlange abgerufen wurden. Hier ist ein minimales Beispiel:

%Vor%

Dieser Code sollte bis zum Ausdruck von "Bild speichern" laufen, dann aber hängen. Irgendwelche Ideen, wie ich das beheben kann?

    
Mike Lawrence 02.06.2012, 13:05
quelle

2 Antworten

7

Der einfachste Ansatz besteht darin, das neuere Modul cv2 zu verwenden, das auf NumPy-Arrays basiert. So müssen Sie sich nicht mit dem manuellen Beizen herumärgern. Hier ist der Fix (Ich habe gerade 4 Zeilen Code geändert):

%Vor%     
Velimir Mlaker 11.06.2013, 22:33
quelle
3

Es scheint, dass die Lösung darin bestand, das opencv-iplimage-Objekt in einen String zu konvertieren und dann zu picken, bevor es zur Warteschlange hinzugefügt wurde:

%Vor%     
Mike Lawrence 02.06.2012 14:27
quelle

Tags und Links