Forum: Multimedia
FreePascal
by Aphton,
10. Mai 2012
Pff, um ehrlich zu sein, habe ich keine Lust, dir das anzupassen =/
Scanline ist einfach ein direkterer Weg, auf den Farbspeicher zuzugreifen. Evt. gibts unter Lazarus Pixels?
Forum: Multimedia
FreePascal
by Aphton,
10. Mai 2012
Welche Delphiversion verwendest du?
Ich schätz mal, eine etwas ältere, in der es diesen Typ nicht gibt.
Du kannst sie hier definieren:
type
PRGBTriple = ^TRGBTriple;
TRGBTriple = record
Forum: Multimedia
FreePascal
by Aphton,
5. Mai 2012
Hier, die einfache Variante mit SAD (Sum of Absolute Differences (siehe Wikipedia))
function findPicture(const Source, Picture: TBitmap): TPoint;
type
TPRGBTripleRow = Array of PRGBTriple;
var
SourceScanlineRow : TPRGBTripleRow;
PictureScanlineRow : TPRGBTripleRow;
function getRGBDifference(const ColorA, ColorB: PRGBTriple): Integer;
Forum: Multimedia
FreePascal
by Aphton,
4. Mai 2012
xD
Genau dies habe ich implementiert und warte nun auf seine Antwort auf meine letzte Frage ^^ (+SAD, einfach und langsam)
Forum: Multimedia
FreePascal
by Aphton,
4. Mai 2012
Wie performant muss das ganze sein, wo willst du es genau einsetzen?
Darf das gesuchte Bild Abweichungen haben oder ist es exakt so im Bild enthalten?