AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Objekte zu ihrer Längsachse vertikal ausrichten
Thema durchsuchen
Ansicht
Themen-Optionen

Objekte zu ihrer Längsachse vertikal ausrichten

Ein Thema von newIndy · begonnen am 22. Mär 2019 · letzter Beitrag vom 25. Mär 2019
Antwort Antwort
Seite 2 von 2     12   
hanvas

Registriert seit: 28. Okt 2010
168 Beiträge
 
Delphi 11 Alexandria
 
#11

AW: Objekte zu ihrer Längsachse vertikal ausrichten

  Alt 24. Mär 2019, 21:42
Zitat:
Das ist richtig, ich habe es auch in Erwägung gezogen, an der Stelle mit einem SW-Bild zu arbeiten.
Die Objekte sind bereits isoliert. Die Bilder sind in Farbe, Umwandlung ist nat. kein Problem.
Die extra Umwandlung kostet Zeit. Du solltest nicht vergessen, auch in Bezug auf die Problematik Canvas.Pixels und Scanline, das bei sagen wir mal 50 Frames / Sec und 50 Objekten je Frame immer noch 2500 kleine Bilder zusammenkommen. Die sind genauso optimierenswert wie es einige große sind

Was ich meinte ist das an irgendeinem Punkt deiner Bildverarbeitungspipeline wahrscheinlich schon ein Graustufen und / oder SW Bild vorliegt das Du verwenden könntest.

Wenn deine Routine anstatt auf Bildern auf rechteckigen Bildausschnitten arbeiten würdest, könntest Du auch ansteller eines kleinen Bildes auf dem Gesamtbild arbeiten und immer nur die Ausschnitte betrachten die ein isoliertes Objekt darstellen. Da dann auch der Overhead zum allokieren, kopieren der Ausschnitte und evtl. wieder freigeben entfällt dürfte das schon etwas ausmachen.

Ich würde Dir, zumindest langfristig, aber ohnehin empfehlen Bildverarbeitung mit dafür optimierten Libs zu machen. Also entweder die zu Deiner Kamera angebotene Lib oder beispielsweise OpenCV und/oder OpenVino. Für OpenCV gibt es eine Anbindung an Delphi (wenn auch nur bis zur Version 2.4, aktuell ist 4.)

https://github.com/Laex/Delphi-OpenCV

die aber alles hat was Du brauchst. Die Lernkurve ist steil aber es sind jede Menge Beispiele dabei und Literatur, auch zu dem Problemkreis den Du hier betrachtet gibt es tonnenweise (allerdings praktisch immer für Python oder C++)

Beispielsweise könntest Du mittels Contour Matching deine Objekte finden und die Längsachse dann innerhalb des gefundenen Objektes, welches als Polygon vorliegt, suchen. Da die Verarbeitung von 5, 10 oder 50 Vektorpunkten viel schneller geht als die Verarbeitung von hunderten Pixeln ist ein solcher Ansatz natürlich performanter.

Zitat:
Jedes Objekt wird klassifiert, dann ist es weg.
Schau die mal Yolo (insbesondere V3) an

https://pjreddie.com/darknet/yolo/
https://www.youtube.com/watch?v=MPU2HistivI

das ist ein neurales Netz das gleichzeitig die Detection durchführt und das Objekt klassifiziert. Natürlich ginge das auch mit anderen Modellen (z.B. mit allen Modellen welche die Tensorflow object detection API unterstützen), aber für Yolo gibt es einen Windows Port der als DLL eingebunden werden kann.

https://github.com/AlexeyAB/darknet

Bindings für Delphi / Paskal müsstest Du aber selbst erstellen. Falls Du also Implementierungsdeteils verbergen willst ginge das ganz gut. Falls Du Fragen zum Training hast oder zur Auszeichnung von Objekten auf Bildern kannst Du dich gerne an mich wenden.

Auf der Site findest Du auch noch andere interessante Repositaries die sich mit Objekt-Erkennung und Isolation beschäftigen.

https://github.com/AlexeyAB

Mir fallen noch eine Reihe anderer Dinge ein, aber für heute mache ich erst mal Schluss.



cu Ha-Jö
  Mit Zitat antworten Zitat
Benutzerbild von newIndy
newIndy

Registriert seit: 18. Dez 2018
29 Beiträge
 
Delphi XE3 Professional
 
#12

AW: Objekte zu ihrer Längsachse vertikal ausrichten

  Alt 25. Mär 2019, 08:58
[/Quote]
Mir fallen noch eine Reihe anderer Dinge ein, aber für heute mache ich erst mal Schluss.
[/QUOTE]

Hallo Ha-Jö,

da war dir aber schon viel eingefallen. Schön, dass du das alles festgehalten hast, danke.

Ich muss das erstmal durcharbeiten.

Cu, newIndy
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:28 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz