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?
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):
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%Tags und Links python opencv multiprocessing