Forum: Algorithmen, Datenstrukturen und Klassendesign
by Pussyranger,
10. Feb 2012
Ich glaub, da irrst du dich ;)
Nichtsdestotrotz würde dann nicht so ein Bild entstehen:
Edit: Alles klar, Fehler gefunden. Hab vergessen das Pixelformat der Vergleichsbilder auf pf32Bit zu stellen. Danke für eure Hilfe!
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Pussyranger,
10. Feb 2012
Danke für die zahlreichen Verbesserungsvorschläge! Den Fehler habe ich gefunden, es lag tatsächlich an der 1. Umwandlung :oops:
Ich wollte es jetzt nochmal nur mit Bitmaps (ohne Colorarray) versuchen, da ich gehofft hatte, dass man bei Threads weniger Probleme mit Scanline als mit direktem Zugriff auf das Canvas hat.
Wirklich erfolgreich war ich aber nicht, denn da kommen die komischsten...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Pussyranger,
10. Feb 2012
Danke! Ich hatte überhaupt nicht damit gerechnet, dass es an der Umwandlung liegt :O
Der Geschwindigkeitsunterschied ist gigantisch :) Leider sind die Threads jetzt absolut überflüssig ^^
Habe den Code jetzt angespasst, aber bei der Rückumwandlung vom Colorarray zum Bitmap gibts jedoch noch einen kleinen Fehler, da das Bild einen gelbstich hat:
procedure TColor2RGB(Color: TColor; VAR R, G,...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Pussyranger,
9. Feb 2012
Ich weiß nicht mehr, wieso es mit Bitmaps nicht funktioniert hat. Aber als ich es mit Colorarrays probiert habe und das sogar schneller war als mit Bitmaps, war mir das auch egal.
Hier der Quellocode:
Unit1 (Threadaufruf):
var
Thread: array of TDifference_Finder;
ThreadsRunning,ges,Durchzaehler: integer;
{...}
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Pussyranger,
8. Feb 2012
Hallo,
ich arbeite an einem Programm, welches Unterschiede zwischen verschiedenen Bildern zeigen soll.
Da das Vergleichen der Bilder recht rechenaufwendig ist, habe ich das ganze in eine Threadklasse geschrieben, welche die Arbeit auf 4 Threads (so viele Kerne hat meine CPU) aufteilen und die CPU somit voll auslastet soll - so weit der Plan.
Nach etlichem rumprogrammieren (oder eher...