QR Code Lesen mit Hilfe von ZXing QR Code Lesen mit Hilfe von ZXing
Danke Danke:  0
Ergebnis 1 bis 6 von 6
  1. Hallo,

    Ich habe mit Hilfe der ZXing Bibliothek versucht, Barcodes aus aufgenommenen Bildern zu lesen. Leider hat das nicht funktioniert. Ich bekomme als result jedes mal 'null' urück, sodass er mir keinen ausgewerteten Text ausgibt. In der zxing webapplikation bekomme ich jedoch ein brauchbares ergebnis. Hat jmd eine Idee, wie ich das Problem angehen oder lösen könnte?

    Hier der Codeschnipsel:

    Code:
    img_Image.Source = img;
    
                        //Decodiere Barcode
    
                        var ms = new InMemoryRandomAccessStream();
                        var wb = new WriteableBitmap(img.PixelWidth, img.PixelHeight);
                        await wb.SetSourceAsync(ms);
                        IBarcodeReader reader = new ZXing.BarcodeReader();
                        reader.Options.TryHarder = true;
    
                        txt_QRContent.Text = "Hier könnten Ihre Daten stehen!";
                        Result result = reader.Decode(wb);
                        if (result != null)
                        {
                            txt_QRContent.Text = result.Text;
                        }
    Die TryHarder-Eigenschaft habe ich einfach mal true gesetzt, da ich diese Option gefunden und mir davon Erfolg versprochen hatte. Leider mit dem selben Ergebnis.
    0
     

  2. 17.07.2014, 14:10
    #2
    Du legst hier einen InMemoryAccessStream an in ms. Dann setzt du die Source des WriteableBitmap auf diesen Stream. Was mir aber in dem Code-Stück fehlt ist wie das Image das du oben hast in den Stream kommt. Schaut so aus als würdest du ein WriteableBitmap aus einem leeren Stream befüllen und da findet ZXing dann natürlich nix.

    Was für eine App ist das - Silverlight 8.1 oder WinRT (Universal). Mit dem InMemoryRandomAccessStream vermute ich mal WinRT. Generell würde ich ja empfehlen QR Codes statt aus einem ausgenommenen Bild direkt aus dem Preview-Stream der Kamera zu lesen. Das ist halt unter WinRT etwas doof im Moment - bin schon ne Weile am Überlegen da eine ordentliche Lösung zu bauen (beim alten Kamera-API gabs ja ein "PreviewFrameAvailable-Event").
    0
     

  3. Zitat Zitat von StevieBallz Beitrag anzeigen
    Was für eine App ist das - Silverlight 8.1 oder WinRT (Universal). Mit dem InMemoryRandomAccessStream vermute ich mal WinRT. Generell würde ich ja empfehlen QR Codes statt aus einem ausgenommenen Bild direkt aus dem Preview-Stream der Kamera zu lesen.
    Jo, WinRT. Wär mir natürlich auch lieber, aber das hier war die einzige Lösung, die ich bis dato dazu gefunden habe.

    Deinen Lösungsansatz püfe ich mal. Danke

    ---------- Hinzugefügt um 15:41 ---------- Vorheriger Beitrag war um 15:21 ----------

    Zitat Zitat von StevieBallz Beitrag anzeigen
    Du legst hier einen InMemoryAccessStream an in ms. Dann setzt du die Source des WriteableBitmap auf diesen Stream. Was mir aber in dem Code-Stück fehlt ist wie das Image das du oben hast in den Stream kommt. Schaut so aus als würdest du ein WriteableBitmap aus einem leeren Stream befüllen und da findet ZXing dann natürlich nix.
    OK, gibt sinn. Bin schon irgendwie zu lange an dem Problem dran, sorry ^^

    Habs jetzt gelöst bekommen. Hier die Lösung, weil ich offengebliebene Threads hasse:

    Code:
     var data = await FileIO.ReadBufferAsync(sampleFile);
                        var ms = new InMemoryRandomAccessStream();
                        var dw = new Windows.Storage.Streams.DataWriter(ms);
                        dw.WriteBuffer(data);
                        ms.Seek(0);
                        await dw.StoreAsync();
    
                        var wb = new WriteableBitmap(img.PixelWidth, img.PixelHeight);
                        ms.Seek(0);
                        await wb.SetSourceAsync(ms);
    
                        //Decodiere Barcode
                        IBarcodeReader reader = new ZXing.BarcodeReader();
                        reader.Options.TryHarder = true;
    
                        Result result = reader.Decode(wb);
                        if (result != null)
                        {
                            txt_QRContent.Text = result.Text;
                        }
    Hast du noch einen Ansatz, mit dem ich QR Codes aus dem Kamerastream lese?
    0
     

  4. 17.07.2014, 14:47
    #4
    Danke für den fertigen Code - ist sicher hilfreich für andere. Erinnert mich etwas an das Windows 8 Sample von ZXing. Einen Ansatz habe ich aber ich weiß nicht ob er dir gefällt:

    Es gibt eine StartPreviewToCustomSinkAsync auf dem MediaCapture-Objekt. Man müsste eine CustomSink implementieren (wird vermutlich C++ Code benötigen) und dort dann entsprechend die Erkennung einbauen. Soweit so gut - das Problem ist dass man dann auch noch die normale Sink ansteuern müsste um dort die Preview weiterhin anzeigen zu können. Ist keine triviale Geschichte. Bin wie gesagt schon länger am überlegen mich mal daran zu setzen da was wiederverwendbares zu bauen und zur Verfügung zu stellen - die Anforderung hat ja öfters mal wer.
    0
     

  5. Den obigen Ansatz nutze ich auch, halt mit MediaCapture.
    Ich hab zwar einen funktionierenden Scanner mit LiveBild, aber das Ding ruckelt so unglaublich dass man das keinem User zumuten will.
    Habe auf Grund vom obligatorischen Zeitmangel dann aber weitere Versuche eingestellt.
    0
     

  6. 19.07.2014, 09:19
    #6
    Leute, dieser Thread gefällt mir. Gut verbalisiert und zielgerichtet.

    Bin selbst Grafikdesigner mit Hang zu Interfaces und Wissen im Bereich Webentwicklung. Würde zu gerne mal 'ne App konzipieren und gestalten, also werd ich mal nach solchen Posts Ausschau halten. Hab schon mal über Channel 9 und VS erste Versuche gestartet, bin aber eher Entwerfer als Entwickler...

    Euch viel Erfolg!
    0
     

Ähnliche Themen

  1. iPhone5 Back-up wiederherstellen mit Hilfe von iTunes
    Von Raizo im Forum Apple iPhone 5 / 5S / 5C / SE
    Antworten: 7
    Letzter Beitrag: 13.04.2013, 10:18
  2. Cab. Datei erstellen mit Hilfe von QuickCab 2.0
    Von Moritz im Forum FAQ/Workshops
    Antworten: 7
    Letzter Beitrag: 09.09.2009, 19:37
  3. Umschalten von Themes mit Hilfe eines Programmes
    Von Cheater10 im Forum Touch HD Anwendungsprogramme
    Antworten: 4
    Letzter Beitrag: 05.07.2009, 00:09
  4. qr codes lesen auf htc touch dual
    Von lotus11 im Forum HTC Touch Dual
    Antworten: 2
    Letzter Beitrag: 06.01.2009, 22:06

Besucher haben diese Seite mit folgenden Suchbegriffen gefunden:

www.zxing

zxing hilfe

StartPreviewToCustomSinkAsync