AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Barcode, DataMatrix mit Webcam und DLL
Thema durchsuchen
Ansicht
Themen-Optionen

Barcode, DataMatrix mit Webcam und DLL

Ein Thema von hedie · begonnen am 24. Jul 2007 · letzter Beitrag vom 25. Jul 2007
Antwort Antwort
hedie

Registriert seit: 12. Dez 2005
Ort: Schweiz
1.024 Beiträge
 
Delphi XE6 Starter
 
#1

Barcode, DataMatrix mit Webcam und DLL

  Alt 24. Jul 2007, 16:47
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 (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 Diese DLL Hier jedoch kann diese jetzt nur 6 Stellige Code 39

Das hier ist zb ein DataMatrix HIER

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
Claudio
Tu was du nicht lassen kannst
- http://endasmedia.ch
  Mit Zitat antworten Zitat
hedie

Registriert seit: 12. Dez 2005
Ort: Schweiz
1.024 Beiträge
 
Delphi XE6 Starter
 
#2

Re: Barcode, DataMatrix mit Webcam und DLL

  Alt 25. Jul 2007, 18:32
So....

Ich hab diese Seite hier gefunden guckst du ?

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:
  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;
So sieht der original Delphi Code aus, welcher allerdings nur Strichcodes erkennt und keine DataMatrix oder PDF417

Delphi-Quellcode:
  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;
Ich hab dan mal alles so geändert:

Delphi-Quellcode:
  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;
Jedoch kommt dann beim ausführen des Codes die Meldung

Invalid floating point Oparation


Mit dem Code für nur Strichcodes hat die erkennung einwandfrei geklappt

ich hoffe ihr könnt mir helfen
Claudio
Tu was du nicht lassen kannst
- http://endasmedia.ch
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:48 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