hallo,
ich habe nur den Pi 2 samt 1024x600 HDMI TFT, und nur für den samt Jessie brauche ich persönlich das openCV, nicht für Windows.
Odroid und Sycall kenne ich nicht und werde ich sicher auch gar nicht brauchen, denn Python braucht sie ja auch nicht für openCV, und Python ist das Maß aller Dinge, die mir für die C++ Wrapper vorschweben. Je einfacher also, desto besser. Guck dir ruhig auch mal genau die Python Codes an, die man in den 4 Videos recht gut erkennen kann und die auch einigermaßen gut erklärt werden bzw. sogar selbsterklärend sind. So soll es dann später auch in C++ aussehen.
Die Cam-Auflösung wird hier automatisch vom Programm eingestellt, so sollte es auch sein.
Grundsätzlich dient das Video-Fenster auch nur zur Orientierung für den User/Programmierer und zum Debuggen, denn eingesetzt soll openCV ja werden, um für Robotermodelle über eine Objekterkennung (Farbe, Größe, Form, Anzahl, Lokalisierung) eine Orientierungsmöglichkeit zu bieten. Hier ist für den Roboter natürlich nicht das Video selber interessant (und schon gar nicht seine Größe oder Framezahl oder Farbtiefe), sondern nur die nackten digitalen BLOB-Daten. Hiernach muss sich die Programmierung richten, um Bälle zu erkennen, Hindernissen auszuweichen, Objekte gezielt zu suchen und anzusteuern, Routen zu erkennen, usw.
Farben erkennt openCV ja wohl nativ als BGR Format (warum nicht RGB, ist mir ein Rätsel), aber sinnvoll ist sicher die Umwandlung ins HSV Format, denn Farben haben ja je nach Beleuchtung den gleichen Farbton, und nur unterschiedliche Sättigung und Luminiszenz (bei weißem Licht); das erleichtert dann die Farberkennung innerhalb gewisser Thresholds:
cvtColor(imgOriginal, imgHSV, COLOR_BGR2HSV); //Convert the captured frame from BGR to HSV
So macht es das openCV Tutorial, das erscheint mir sehr sinnvoll.
Lesezeichen