How to decode barcode of type Interleaved2of5 by golang?

Viewed 89

I'm using gozxing(github.com/makiuchi-d/gozxing) and gozbar(github.com/MordFustang21/gozbar) to decode barcode, but it can not decode barcode on some images like below, barcode

    // input is the file content, type is []byte
    reader := oned.NewITFReader()

    hints := make(map[gozxing.DecodeHintType]interface{})
    hints[gozxing.DecodeHintType_TRY_HARDER] = true

    r := bytes.NewReader(input)
    img, _, err := image.Decode(r)
    if err != nil {
        return nil, errors.Wrap(err, "failed to decode image")
    }

    bmp, err := gozxing.NewBinaryBitmapFromImage(img)
    if err != nil {
        return nil, errors.Wrap(err, "failed to create bitmap from image")
    }

    res, err := reader.Decode(bmp, hints)
    // At there, the err is NotFoundException
I have tried all the reader like codebar,code39... under the oned package, all of them will return NotFoundException

gozbar also will return no symbols found error
0 Answers
Related