Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Lazarus Delphi Canny (https://www.delphipraxis.net/192622-lazarus-delphi-canny.html)

Atlunch 5. Mai 2017 13:36

Lazarus Delphi Canny
 
Hallo zusammen,

aktuell bin ich auf der Suche nach einem fertigen Canny algorithmus für Delphi XE8 und bin hier im Forum auf folgende Diskussion gestoßen.

http://www.delphipraxis.net/181223-c...-matrix-2.html

Dort postete "Gutelo" auf Seite zwei eine fertige Unit zum gesuchten algorithmus.
Leider bekomme ich diesen aber nicht zum laufen.
Dabei ist mir aufgefallen dass er den algorithmus wohl in "Lazarus" programmiert hat. Leider weis ich auch nicht sonderlich viel darüber außer das es wohl eine freie Entwicklungsumgebung sein soll!

Kann mir einer sagen ob man den code trotzdem einfach so in delphi XE8 überführen kann und wenn ja wie das am besten geht?

Viele Grüße
Atlunch

Union 5. Mai 2017 13:43

AW: Lazarus Delphi Canny
 
"Nicht zum Laufen" heißt genau was?

Atlunch 5. Mai 2017 13:57

AW: Lazarus Delphi Canny
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hier mein Code. Musst aber noch ein Bild im Pfad anhängen!

Hab den Code 1 zu 1 aus dem Chat genommen und entsprechend natürlich einen button dafür eingefügt!

Hab probiert die folgenden zwei elemente zuerst einfach mal nur zu löschen!

{$mode objfpc}{$H+}

LCLIntf

Ohne die startet auch das Programm! Allerdings kommt dann eine Fehlermeldung zu irgend einer Speicheradresse.

Delphi-Laie 5. Mai 2017 13:59

AW: Lazarus Delphi Canny
 
Zunächst müssen die Quelltextstellen, die Compilerfehler verursachen, geändert werden, sodaß die Compilerfehler entfallen, und dann muß das fertige Compilat geprüft und ggf. untersucht (meistens per Debugging) werden.

Union 5. Mai 2017 14:08

AW: Lazarus Delphi Canny
 
Vermutlich ist der Typ falsch definiert:
Delphi-Quellcode:
PixArray = Array [1 .. MaxInt div SizeOf(TRGB) - 1] of TRGB;
Die Zähler starten überall bei 0.

Atlunch 5. Mai 2017 15:31

AW: Lazarus Delphi Canny
 
Wenn ich die Definition ändere kommt keine Fehlermeldung mehr sondern es wird einfach ein weißes Bild ausgegeben

Atlunch 5. Mai 2017 15:51

AW: Lazarus Delphi Canny
 
Ich hab nun zum testen erstmal alles ausgeklammert bis auf

ConvertToGrayScale(ImgIn,ImgGray);
ImgToPixArray(ImgGray, PA_Gray);
PixArrayToImg(PA_Gray, ImgOut);

um nur die Graustufung zu testen. Schon dort erhalte ich nur ein weißes Bild.
Dabei ist mir aufgefallen das in der Procedure "ConvertToGrayScale(ImgIn,ImgGray)" bei der Berechnung des GrayShade für alle unterschiedlichen Farbwerte immer 255 berechnet wird!

Das kann doch nicht sein oder? :shock:


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:06 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