ethernet camera + opencv python

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
AndreasH.
User
Beiträge: 3
Registriert: Dienstag 22. Oktober 2019, 13:43

Hallo Zusammen,
Ich kenne und beschäftige mich mit Python erst seit kurzem (Anfänger). Die Sprache soll recht einfach sein (Für mich anscheinend nicht :cry: ) und große Bibliotheken enthalten. Bisher konnte ich durch diverse Tutoriels, Dokumentationen, tests, die angesprochenen Bibliotheken zu einem brauchbaren Ergebniss kommen. Auch wenn der Stil nicht unbekannt gut ist und viel Grundlagenwissen fehlt. Darum bitte ich um ein bisschen nachsehen falls ich mit dieser Problematik nicht richtig oder das Problem selber für erfahrene Programmierer einfach zu lösen ist.
Kommen wir aber zu dem eigentlichen Problem.
Ich habe ein kleines Programm geschrieben das Bilder/Videos aufnimmt, verarbeitet, bestimmte Daten separat abspeichert in einer Textdatei. Mit abgespeicherten Videos und/oder der integrierten Kamera kann ich mittels cv2.VideoCapture() es starten.

Diese Funktion funktioniert bei mir jedoch nicht für eine ethernet Industriekamera. Kann mir jemand helfen?

Über die Herstellersoftware kann ich die Kamera finden und Bilder/Videos erstellen, jedoch kriege ich SIe nicht in meinem Programm integriert bzw. angesprochen. Nach einiger Recherche habe ich festgestellt das es nicht so einfach ist. Andere Software ist zulässig vom Hersteller mittels GenICam, GenTL. Im Internet hatte ich etwas über eine Bib "Harvesters" gelesen und es versucht (https://github.com/genicam/harvesters). Jedoch ohne Erfolg. Hat Jemand mit "Harvesters" gearbeitet oder geschafft?
Kennt sich jemand mit der Schnittstelle GenICam, GenTL aus? Wie kann ich die verwenden? Gibt es fertige Bib oder Bausteine?

Hoffentlich konnte ich das Problem genau genug erklären oder vielleicht hat jemand anderes genau das gleiche Problem.
Würde mich über Rückmeldungen jeglicher Art freuen.
Danke schon mal.
__deets__
User
Beiträge: 14536
Registriert: Mittwoch 14. Oktober 2015, 14:29

Das was du da gefunden hast, sieht prinzipiell schon mal gut aus. Ich habe nicht das Gefühl, dass die Kamerahersteller wirklich gerne Standards unterstützen. Ich habe mal ernüchternde Erfahrungen mit eine Toshiba Teli USB3 Vision Kamera gemacht. Schlussendlich habe ich mein Projekt einfach auf C++ umgestellt, und das SDK des Herstellers genommen. Aus eine Frame der Kamera ein IplImage für OpenCV zu machen war einfach. Mit Python habe ich dann nur noch auf stills gearbeitet, die ich mit C++ “geschossen” habe.

Warum es nicht geht - das müsste man dann schon en Detail betrachten. Konkrete Kamera, was die anbieten etc.
AndreasH.
User
Beiträge: 3
Registriert: Dienstag 22. Oktober 2019, 13:43

Danke _deets_ für deine schnelle Antwort.
*Update*: Ich habe eine Baumer Kamera der CX-Serie (Color und Mono) und das Baumer GAPI SDK.
Hatte versucht über die Anweisung bei "Harvesters" zu gehen aber irgendwie klappt es nicht bzw. unvermögen. Vielleicht hat damit jemand schon gearbeitet und kann ein Beispiel zur Einbindung schreiben.

C++ hab ich vorher noch nie mit gearbeitet (Gerade Python-Anfänger). Jedoch habe ich eine ähnliche Lösung über C++ im Internet gefunden (Glaube ich zumindest) (https://stackoverflow.com/questions/110 ... 7#27918907). Mit der Einbindung nach Python und welche Informationen ich im python opencv weiter verwenden kann übersteigt meine Fähigkeiten. Ich versuchs weiter auf beiden Wegen über Tipps, Hilfe und Lösungsvorschläge wäre ich sehr dankbar.
__deets__
User
Beiträge: 14536
Registriert: Mittwoch 14. Oktober 2015, 14:29

Ich denke nicht, dass hier sonst wer damit gearbeitet hat. Solche Kameras und Anwendungen sind ungewöhnlich. Und der Python-Teil des ganzen am wenigsten relevant. Wir können hier gut helfen bei Problemen mit Python selbst, und bekannten Dingen wie Django, Qt & Co. Aber eher schlechter bei sowas. Mehr Chancen hast du ggf beim Harvester Projekt selbst, oder beim Hersteller. Dort solltest du exakt beschreiben was du getan hast, was funktioniert und was nicht.

Und ja, der SO Link beschreibt im Grunde was ich getan habe - nur für ein anderes Modell. Wie man sieht ist das an sich nicht schwer - wenn man die 10^6 Dinge beachtet und kennt, die C++ Entwicklung halt so mit sich bringt.
AndreasH.
User
Beiträge: 3
Registriert: Dienstag 22. Oktober 2019, 13:43

Danke für die Hilfe.
Habe es noch zusätzlich versucht über die IP anzusprechen. Hat auch nicht geklappt. Werde mich mit dem Hersteller in Verbindung setzten und versuchen eine Lösung dazu zu finden.
Sobald ich eine Lösung habe die in opencv eingebunden werden kann poste ich es rein.
kznr
User
Beiträge: 2
Registriert: Freitag 13. März 2020, 01:30

Hallo,

Excuse me, the following words are the output from Google Translate: Wenn Sie Harvester nicht mit GenICam-kompatiblen Kameras zum Laufen bringen können, besuchen Sie unsere Website und erstellen Sie ein Ticket, damit wir Ihnen helfen können. Wir haben so vielen Menschen geholfen, Erntemaschinen zum Laufen zu bringen.

https://github.com/genicam/harvesters/issues
kznr
User
Beiträge: 2
Registriert: Freitag 13. März 2020, 01:30

Hello again,

One of my good friends at Baumer who is leading the SDK development team had an opportunity to try Harvester with their latest GenTL Producer again. According to him, he did not find any critical issue in its usage. I hope all of you allow me to leave this message here as a piece of evidence that Harvester is still promising. :-)
Antworten