![]() |
QR-Code aus Bild lesen
Hallo,
Delphi 2007 Enterprise ZBar 0.10 - libzbar-0.dll ich habe mich am Thread ![]() orientiert. Aber wie auch dort im letzten Kommentar geschrieben, erhalte ich für eine Datei mit QR-Code keinerlei Ergebnisse. In der mitgelieferten News-Datei steht, dass QR-Code ab dieser Version unterstützt wir, so dass ich das voraussetze. In den letzten 2 Tagen habe ich o.g. Code verwendet, einen weiteren im Netz gefunden Code, das mitgelieferte C-Beispiel nachprogrammiert, verschiedene Wege (processor, scanner) probiert, am Ende immer fehler- und ergebnisfrei. Die exe der gleichen Version liefert die Daten. Hat jemand mit dieser lib einen funktionierenden QR-Code-Reader programmiert? Wenn ja, wie? VG und Danke Nakaramia |
AW: QR-Code aus Bild lesen
Hallo,
ich habe mit dem Code aus o.g. Thread jetzt mal versucht, Strichcode einzulesen, funktioniert ebenfalls nicht. dll habe ich getauscht, ohne Ergebnis. Ich bekomme einfach weder Fehler noch Fund. Vielleicht fällt jemandem am Code etwas auf.
Delphi-Quellcode:
begin
bmp := TBitmap.Create; bmp.LoadFromFile(filename); SetGrayscale(bmp); scanner := GetScanner; image := GetImage(bmp); count := 0; count := zbar_scan_image(scanner, image); //<-- count ist immer 0 end; function TQRCodeReader.GetScanner: zbar_image_scanner_t; var stat : Integer; begin //Scanner initiieren Result := zbar_image_scanner_create; stat := zbar_image_scanner_set_config(Result, ZBAR_QRCODE, ZBAR_CFG_ENABLE, 1); if stat <> 0 then GetErrorMessage('Image-Scanner: ', stat); end; function TQRCodeReader.GetImage(bmp: TBitmap): zbar_image_t; //Scannerlesbares Bild erzeugen var blubb : PByte; begin blubb := bmp.ScanLine[bmp.height-1]; Result := zbar_image_create; zbar_image_set_format(Result, 'Y800'); zbar_image_set_size(Result, bmp.width, bmp.height); zbar_image_set_data(Result, blubb, bmp.height*bmp.width, nil); end; procedure TQRCodeReader.SetGrayscale(bmp: TBitmap); var x, y : integer; p : ^TPixArray; gray : byte; begin for y := 0 to bmp.Height - 1 do begin p := bmp.ScanLine[y]; for x := 0 to bmp.Width - 1 do begin gray := round(p^[1]*0.3 + p^[2]*0.59 + p^[3]*0.11); p^[1] := gray; p^[2] := gray; p^[3] := gray; inc(p); end; end; end; |
AW: QR-Code aus Bild lesen
Speichere mal nach SetGrayscale(bmp); das Bild irgendwo hin und kontrolliere, ob es überhaupt richtig umgewandelt wird.
Ansonsten vielleicht mal diesen Quellcodeschnipsel ausprobieren: ![]() |
AW: QR-Code aus Bild lesen
Läuft. :thumb:
Im Kommentar unter dem von TiGü geposteten Link findet sich der Hinweis auf eine dll für Windows Also this component use the zbar DLL provided by the Zbar for Windows project: ![]() Danke |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:36 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz