DrBwts
DrBwts

Reputation: 3657

pyzbar missing a module attribute that does actually exist?

Win 10 x64, Python 2.7, Spyder IDE

I'm using some code from Adrian Rosebrock's OpenCV blog...

import pyzbar
import cv2

# load the input image
image = cv2.imread("barcode_example.png")

# find the barcodes in the image and decode each of the barcodes
barcodes = pyzbar.pyzbar.decode(image)

# loop over the detected barcodes
for barcode in barcodes:
    # extract the bounding box location of the barcode and draw the
    # bounding box surrounding the barcode on the image
    (x, y, w, h) = barcode.rect
    cv2.rectangle(image, (x, y), (x + w, y + h), (0, 0, 255), 2)

    # the barcode data is a bytes object so if we want to draw it on
    # our output image we need to convert it to a string first
    barcodeData = barcode.data.decode("utf-8")
    barcodeType = barcode.type

    # draw the barcode data and barcode type on the image
    text = "{} ({})".format(barcodeData, barcodeType)
    cv2.putText(image, text, (x, y - 10), cv2.FONT_HERSHEY_SIMPLEX,
        0.5, (0, 0, 255), 2)

# show the output image
cv2.imshow("Image", image)
cv2.waitKey(0)

I keep getting the following error...

AttributeError: 'module' object has no attribute 'pyzbar'

Yet when I check the module in Spyder it does indeed have said artibute...

enter image description here

I've tried running from the command line with the same result.

I have also checked to see if my installation of zbar is working & it is with no problems

enter image description here

Is this an issue with the Python bindings or something really obvious?

Upvotes: 2

Views: 2134

Answers (1)

Buck Stuck
Buck Stuck

Reputation: 41

Try:

import pyzbar.pyzbar as pyzbar

Works for me.

Upvotes: 1

Related Questions