• cv2.error: OpenCV(4.9.0) :-1: error: (-5:Bad argument) in function 'cvtColor'


    关注 码龄 粉丝数 原力等级 -- 被采纳 被点赞 采纳率 wmdlinuxshell 2024-04-02 19:45 采纳率: 0% 浏览 12 首页/ 人工智能 / cv2.error: OpenCV(4.9.0) :-1: error: (-5:Bad argument) in function 'cvtColor' opencvpython 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_RGB2BGR) # 显示二维码 cv2.imshow("QR Code", img_cv) cv2.waitKey(0) cv2.destroyAllWindows() 运行cv报错, 展开全部 收起 写回答 好问题 0 提建议 追加酬金 关注问题 微信扫一扫 点击复制链接 分享 邀请回答 编辑 收藏 删除 结题 收藏 举报 追加酬金 (90%的用户在追加酬金后获得了解决方案) 当前问题酬金 ¥ 0 (可追加 ¥500) ¥ 15¥ 20¥ 50¥ 100¥ 200 支付方式 扫码支付 二维码出错 点击刷新 支付金额 15 元 提供问题酬金的用户不参与问题酬金结算和分配 支付即为同意 《付费问题酬金结算规则》 结题 再想想 删除 再等等

    3条回答 默认 最新

    • Kwan的解忧杂货铺 Java领域优质创作者 2024-04-02 20:51
      关注

      晚上好🌙🌙🌙
      本答案参考ChatGPT-3.5

      根据您提供的代码和报错信息,看起来问题出在将PIL图像转换为OpenCV图像时的颜色通道转换上。您可以尝试将`cv2.COLOR_RGB2BGR`改为`cv2.COLOR_RGB2GRAY`,因为二维码图像是单色的,不需要转换为彩色图像。修改后的代码如下所示:
      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()
      

      这样应该可以解决报错问题。希望对您有帮助!

      展开全部

      评论
    • CSDN-Ada助手 CSDN-AI 官方账号 2024-04-02 22:07
      关注

      【相关推荐】



      • 你可以看下这个问题的回答https://ask.csdn.net/questions/7635319
      • 你也可以参考下这篇文章:cv2.error: OpenCV(4.5.5)
      • 除此之外, 这篇博客: 相机标定中的 7.2 cv2.error: OpenCV(3.4.2) 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:

        在这里插入图片描述
        解决方法:
        主要是图片路径中“文件夹分隔符”使用的错误,将“/”改成“\”就好了


      如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
      评论
    • GISer Liu 2024-04-03 01:06
      关注

      该回答引用自GPT-3.5,由博主GISer Liu编写:

      根据你提供的代码和报错信息,问题出在将 PIL 图像转换为 OpenCV 图像时,报错 cv2.error: OpenCV(4.5.3)
      D:\a\opencv-python\opencv-python\opencv\modules\imgproc\src\color.cpp:182:
      error: (-215:Assertion failed) !_src.empty() in function 'cv::cvtColor'
      这个错误通常是由于图像读取或处理过程中出现问题导致的。在这里,可能是由于 np.array(img)
      的过程中出现了错误,导致了空图像。这可能是由于 PIL 图像转换为 numpy 数组时出现了问题。
      解决这个问题可以尝试以下几个步骤:

      1. 确保 Pillow(PIL)和 OpenCV 安装正确 :首先确保你的 Pillow 和 OpenCV 安装正确,并且版本兼容。
      2. 检查 QR Code 生成 :确认生成的 QR Code 图像是有效的。可以将 img 保存为文件,然后使用其他工具查看。
      3. 调整图像转换方式 :尝试不同的方式将 PIL 图像转换为 OpenCV 图像。你可以尝试使用 cv2.cvtColor(np.asarray(img), cv2.COLOR_RGB2BGR),其中 np.asarray(img) 用于将 PIL 图像转换为数组。
      4. 检查图像数组 :在转换为 OpenCV 图像之前,可以打印一下 np.array(img) 的内容,确保它不是空的,并且包含了正确的图像数据。
      5. 尝试其他方法 :如果以上方法都无法解决问题,可以尝试使用其他库或方法来实现图像的转换和显示,比如使用 matplotlib 来显示图像。
        如果以上方法都无法解决问题,请提供更多信息,比如完整的报错信息和环境配置,以便更好地帮助你解决问题。

      如果该回答解决了您的问题,请采纳!如果没有,请私信联系或评论您的疑惑

      评论
    编辑
    预览

    报告相同问题?

  • 相关阅读:
    最近要考pmp,哪个培训机构比较好?
    Linux下编译main.c文件,命令中的gcc -o -c是什么意思
    01 【Nginx的安装和启动】
    设计模式——工厂模式详解(代码演示)
    已解决ValueError: More than 4094 XFs (styles)
    数据库管理-第156期 Oracle Vector DB & AI-07(20240227)
    实施运维03(在虚拟机上安装winServer2008系统)
    YOLOv5、YOLOv8改进:HorNet完全替换backone
    学习pytorch14 损失函数与反向传播
    uni-app:实现条件判断展示图片(函数判定+三目运算)
  • 原文地址:https://ask.csdn.net/questions/8082881