![]() |
Barcode, DataMatrix mit Webcam und DLL
Hallo
Ich wollte schon lange mal mittels Webcam einen Barcode einscannen. Ich habe dazu auch schon einige freeware programme gefunden, jedoch konnten die einen nur EAN8 und EAN13 oder nur EAN8 Oder sie gaben keinen String aus. Nun dachte ich, ich mache mir selbst ein Programm. Ich weiss das das einscannen mittels Webcam nicht allzu leicht sein wird, jedoch habe ich ca 4 Woche Zeit :D (Ferien) Ich habe bei der suche nach den Programmen ein paarmal DLLs gefunden die anscheinend aus Bildern Den Barcode und auch DataMatrix erkennen können wie zb ![]() Das hier ist zb ein DataMatrix ![]() Ich dachte, dass ich einfach mitt der Webcam ein Bild erstelle bzw. viele hintereinander, und diese dann überprüfen lasse von der DLL Eigentlich wollte ich die DataMatrix benutzen oder noch besser MicroPDF Was haltet ihr davon? Liebe grüsse Claudio |
Re: Barcode, DataMatrix mit Webcam und DLL
So....
Ich hab diese Seite hier gefunden ![]() Da kann man sich ein SDK downloaden, mit dem man alle möglichen barcodes aus Bitmaps lesen kann. So es hat zwar beispiele für Delphi aber nicht die die ich brauche. Der Code den ich brauche, gibts nur in C deshalb wollte ich fragen, ob ihr mir helfen könntet den zu übersetzen Hier der C Code aus dem Beispiel
Code:
So sieht der original Delphi Code aus, welcher allerdings nur Strichcodes erkennt und keine DataMatrix oder PDF417
myBarcode.iBC_Type = BC_DATAMATRIX;
myBarcode.iBC_Length = 0; myBarcode.iBC_Checksum = BC_NONE; myBarcode.iBC_Orientation = BC_0 | BC_90 | BC_180 | BC_270; myBarcode.iBC_ReadMultiple = BC_MULTI; myBarcode.iBC_LightMargin = DM_DEFAULT_LIGHT_MARGIN; myBarcode.iBC_ScanDistance = DM_DEFAULT_SEARCH_DISTANCE; myBarcode.iBC_ScanDistBarcode = 10; myBarcode.iBC_Percent = BC_PERCENT; myBarcode.iBC_MaxHeight = DM_DEFAULT_MAX_HEIGHT; myBarcode.iBC_MinHeight = DM_DEFAULT_MIN_HEIGHT; myBarcode.iBC_MaxNoVal = BC_MAX_NO_VAL; myBarcode.iBC_Tolerance = DM_DEFAULT_TOLERANCE; myBarcode.iBC_StartX = 0; myBarcode.iBC_StartY = 0; myBarcode.iBC_SizeX = 0; myBarcode.iBC_SizeY = 0; myBarcode.iLaengeVon = 0; myBarcode.iLaengeBis = 0;
Delphi-Quellcode:
Ich hab dan mal alles so geändert:
myBarcode.iBC_Type := BC_ALL;
myBarcode.iBC_Length := 0; myBarcode.iBC_Checksum := BC_CHECKNONE; myBarcode.iBC_Orientation := BC_0 or BC_90 or BC_180 or BC_270; myBarcode.iBC_ReadMultiple := BC_MULTI; myBarcode.iBC_LightMargin := BC_LIGHTMARGIN; myBarcode.iBC_ScanDistance := BC_SCANDISTANCE; myBarcode.iBC_Percent := BC_PERCENT; myBarcode.iBC_ScanDistBarcode := 1; myBarcode.iBC_MaxHeight := 0; myBarcode.iBC_MinHeight := 0; myBarcode.iBC_MaxNoVal := BC_MAXNOVAL; myBarcode.iBC_Tolerance := BC_TOLERANCE; myBarcode.iBC_StartX := 0; myBarcode.iBC_StartY := 0; myBarcode.iBC_SizeX := 0; myBarcode.iBC_SizeY := 0; myBarcode.iLaengeVon := 4; myBarcode.iLaengeBis := 100;
Delphi-Quellcode:
Jedoch kommt dann beim ausführen des Codes die Meldung
myBarcode.iBC_Type := BC_DATAMATRIX;
myBarcode.iBC_Length := 0; myBarcode.iBC_Checksum := BC_CHECKNONE; myBarcode.iBC_Orientation := BC_0 or BC_90 or BC_180 or BC_270; myBarcode.iBC_ReadMultiple := BC_MULTI; myBarcode.iBC_LightMargin := DM_DEFAULT_LIGHT_MARGIN; myBarcode.iBC_ScanDistance := DM_DEFAULT_SEARCH_DISTANCE; myBarcode.iBC_Percent := BC_PERCENT; myBarcode.iBC_ScanDistBarcode := 10; myBarcode.iBC_MaxHeight := DM_DEFAULT_MAX_HEIGHT; myBarcode.iBC_MinHeight := DM_DEFAULT_MIN_HEIGHT; myBarcode.iBC_MaxNoVal := BC_MAXNOVAL; myBarcode.iBC_Tolerance := BC_TOLERANCE; myBarcode.iBC_StartX := 0; myBarcode.iBC_StartY := 0; myBarcode.iBC_SizeX := 0; myBarcode.iBC_SizeY := 0; myBarcode.iLaengeVon := 0; myBarcode.iLaengeBis := 0; Invalid floating point Oparation Mit dem Code für nur Strichcodes hat die erkennung einwandfrei geklappt ich hoffe ihr könnt mir helfen |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:44 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-2025 by Thomas Breitkreuz