AttributeError: module 'cv2' has no attribute 'detectBarcodes'
时间: 2023-11-17 19:05:24 浏览: 84
Error: module 'cv2' has no attribute 'detectBarcodes'是由于OpenCV的版本问题导致的。在OpenCV 4.0及以上版本中,detectBarcodes已被更改为detectAndDecodeMulti。因此,您需要升级OpenCV版本或使用detectAndDecodeMulti来解决此问题。
```python
import cv2
# 读取图像
img = cv2.imread('barcode.jpg')
# 将图像转换为灰度图像
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 初始化条形码检测器
barcodeDetector = cv2.QRCodeDetector()
# 检测条形码
data, bbox, _ = barcodeDetector.detectAndDecodeMulti(gray)
# 如果检测到条形码,则绘制边界框和数据
if bbox is not None:
for i in range(len(bbox)):
cv2.rectangle(img, tuple(bbox[i][0]), tuple(bbox[i][2]), color=(0, 255, 0), thickness=2)
cv2.putText(img, data[i], (int(bbox[i][0][0]), int(bbox[i][0][1]) - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 0, 255), 2)
# 显示结果
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
阅读全文