根据您提供的代码和报错信息,看起来问题出在将PIL图像转换为OpenCV图像时的颜色通道转换上。您可以尝试将`cv2.COLOR_RGB2BGR`改为`cv2.COLOR_RGB2GRAY`,因为二维码图像是单色的,不需要转换为彩色图像。修改后的代码如下所示:晚上好🌙🌙🌙
本答案参考ChatGPT-3.5
import qrcode
import cv2
import numpy as np
from PIL import Image
# 生成二维码
data = "Hello, World!"
qr = qrcode.QRCode(
version=1,
error_correction=qrcode.constants.ERROR_CORRECT_L,
box_size=10,
border=4,
)
qr.add_data(data)
qr.make(fit=True)
img = qr.make_image(fill='black', back_color='white')
# 将PIL图像转换为OpenCV图像
img_cv = cv2.cvtColor(np.array(img), cv2.COLOR_RGB2GRAY)
# 显示二维码
cv2.imshow("QR Code", img_cv)
cv2.waitKey(0)
cv2.destroyAllWindows()
这样应该可以解决报错问题。希望对您有帮助!

