Hi,
ich habe weiter mit der Delphi Vorlage gespielt und mittlerweile die Delphi Komponenten angepasst, so dass diese in Lazarus kompilierbar sind und eingebunden werden.
Dies bezieht sich in meinem Fall auf Lazarus 1.8.0/x86 Win10.
Zu den Problemen komme ich später...
Hier das Paket mit den Komponenten:
http://www.mediafire.com/file/j1h5mwsj5 ... enCV_2.zip (~20MB mit Dlls)
Die DLLs aus "DLL_Backup" am besten nach c:\Windows kopieren. (Ansonsten müssten diese im Verzeichniss von Lazarus.exe und im jeweiligen Projektverzeichnis vorhanden sein).
Hier das Paket mit dem Testprojekt:
http://www.mediafire.com/file/p1yognue3 ... Detect.zip (~7MB)
Das Projekt zeigt die Verwendung der ocvCameraSource und der ocvImageOperation Komponenten.
Es können bis zu drei HaarClasses über Comboboxen ausgewählt werden und so bis zu drei verschiedene "Dinge" in Bildern erkannt werden.
Über eine weiter Combobox können Bildeffekte ausgewählt werden, wie Grayscale, Erode, Dilate usw.
Soweit geht also schon etwas...
Ein Problem ist die ocvView Komponente, welche eigentlich Images von den Sourcen wie Webcam oder ImageOperation anzeigen soll.
Dies funktioniert nicht und ich weiß nach stundenlanger Suche nicht, woran es hapert.
Die Komponente zeigt zur Laufzeit einen Teil der Form an, anstatt des Images der Webcam!
Schiebt man die Form zur Laufzeit etwas zusammen und zieht sie wieder langsam auf, so flackert manchmal das richtige Bild auf...
Das irre ist, wenn ich in icv.comp.view in TocvView.WMPaint(var Message: TWMPaint); ab Zeile 295 die relvanten Teile zum Zeichnen der Canvas entferne, zeigt die Komponente zur Laufzeit immer noch Teile der Form... ?!?!?
Ein Tipp am Rande: Zum Debugen habe ich alle Scripte der Komponenten in das Projektverzeichnis kopiert. (Projekt neu kompilieren!). Ansonsten funktionieren die Haltepunkte nicht.
Vielleicht hat ja jemand Interesse daran, mal in die Sourcen reinzuschauen... ich bin im Moment ziemlich frustriert und komme einfach nicht weiter.
Gruß, Michael