Liebe Leserinnen, liebe Leser,

es ist schon eine Weile her, seitdem ich einen Beitrag geteilt habe, und das ist wegen der Tatsache, dass ich heutzutage ganz viel lese (nicht nur Lektüre), und das Lesen ist leider ein nicht so gutes Thema für einen Beitrag. Sowieso, um einen kleinen Einblick in die Sachen, mit denen ich mich beschäftige, zu geben, ich werde eine kleine Übersicht über die schon gemachten Sachen und meine Gedankden in beliebiger Reihenfolge darstellen. Lasst uns starten:

Der Schwerpunkt meiner Lektüren liegt heutzutage auf OpenCV und Qt. Ich möchte das auch herausfinden, ob diese zwei Bibliotheken miteinander funktionieren können. Ich startete mich zuerst mit OpenCV vertraut zu machen, weil mich die Tatsache immer beeindruckt hat, dass Autos, Roboter (Boston Dynamics ist wirklich toll), Sicherheitssysteme, meine alte Fuji-Kamera (10+ Jahre alt), usw. in der Lage sind, echte Objekte, Bewegung, Größe, Entfernung, usw. in der physikalischen Welt zu erkennen und zu klassifizieren. Das ist auch beeindruckend, dass diese Systeme auf Grund dieser Informationen manchmal eine Entscheidung treffen können. Weil mir das total unklar war, wie alle diese Sachen gemacht werden können, und meine Programmierungkenntnis hat endlich einen Punkt erreicht, wo ich mich auf meine Kenntnisse zu verlassen starten kann, habe ich plötzlich die Tutorials auf der OpenCV Webseite zu machen begonnen.

Als ich diese Tutorials absolvierte, starteten sie die C++ Tutorials von cplusplus.com in Erinnerung zu bringen, die obwohl einen Einblick in die diskutierten Sachen geben, sind sie bei weitem nicht genug. Um eine Analogie zu benutzen, sind sie wie eine detaillierte Inhaltsverzeichnis eines Buches, die man schnell durchsuchen kann, um eine allgemeine Übersicht zu bekommen. Leider ist nicht mehr davon zu erwarten. Nicht falsch verstehen: sie sind sehr nützlich, wenn man ein kostspieliges Buch nicht kaufen will, und zuerst will man das herausfinden, ob das wirklich die gewünschte Sache ist. Trotzdessen bin ich glücklich, dass sie zur Verfügung stehen, aber sie haben an Schwung schnell verloren, deswegen war es an der Zeit, tiefer als Sehrohrtiefe zu tauchen.

Abgesehen von das schon gelesene umfangreiche Einführungsbuch über OpenCV ist das eine Herausforderung, tiefer zu gehen, weil die Bibliothek doch ganz groß ist. Außerdem, obwohl die Bibliothek eine einfache grafische (auf Qt basierte) Oberfläche bietet, ist das in den derzeitigen Form nicht so attraktiv (sieht wie etwas aus dem vorigen Jahrzehnt aus). Ich habe daran gedacht, dass ich die eingebaute grafische Oberfläche durch native Qt völlig ersetzen werde. Das braucht die Einfügung von OpenCV-Funktionalität in den Qt Code. Diese Situation könnte problematisch sein, weil sowohl Qt, als auch OpenCV seine eigene Smart-Pointers, Bildklassen, Streams, usw. bieten (und es gibt auch STL), und damit ist das nicht einfach, alles zusammenarbeiten zu machen. Weiterhin hat Qt gleichzeitig zwei unterstüzte GUI-Module (Qt Widgets und Qt Quick 2), also das ist noch nicht klar, welche soll verwendet werden.

Es gibt gute auch gute Nachrichten. OpenCV wurde mit unterstüzten Nebenläufigkeit und Prozessoroptimierungen geschrieben. Das bedeutet, dass Probleme in Bezug auf Prozessorintensive Sachen von Anfang auf behoben wurden, und deswegen braucht man die parallelitätbezogene Teile von Qt sofort nicht benutzen. Diese letzte Sache möchte ich ein bisschen verschieben, weil ich Nebenläufigkeit zuerst besser verstehen möchte. Das wird bald geschehen, weil das Buch über C++ Nebenläufigkeit, das ich schon bestellt habe, bald veröffentlicht wird (vielleicht im Januar 2019).

Sowieso, bevor ich aus diesen Sachen etwas Eigenes selbst bauen kann, habe ich noch viel zu lesen. Natürlich, ich werde mich bemühen, regelmäßige Statusmeldungen zu teilen, aber nicht früher als Weihnachten und Silvester des Jahres.

Wie immer, vielen Dank fürs Lesen. Hoffentlich werde ich nächstes Mal über etwas Greifbares auch teilen können.