【YOLOv4运行demo.py报错】:cv2.error: OpenCV(4.5.5) :-1: error: (-5:Bad argument) in function ‘rectangle‘

这篇具有很好参考价值的文章主要介绍了【YOLOv4运行demo.py报错】:cv2.error: OpenCV(4.5.5) :-1: error: (-5:Bad argument) in function ‘rectangle‘。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、问题描述

最近在linux服务器上部署YOLOv4项目(https://github.com/Tianxiaomo/pytorch-YOLOv4),配置好环境以后,运行demo.py进行测试,报错如下:

Traceback (most recent call last):
  File "demo.py", line 161, in <module>
    detect_cv2(args.cfgfile, args.weightfile, args.imgfile)
  File "demo.py", line 57, in detect_cv2
    plot_boxes_cv2(img, boxes[0], savename='predictions.jpg', class_names=class_names)
  File "/opt/data/private/YOLOv5/pytorch-YOLOv4-master/tool/utils.py", line 145, in plot_boxes_cv2
    cv2.rectangle(img, (x1,y1), (np.float32(c3[0]), np.float32(c3[1])), rgb, -1)
cv2.error: OpenCV(4.5.5) :-1: error: (-5:Bad argument) in function 'rectangle'
> Overload resolution failed:
>  - Can't parse 'pt2'. Sequence item with index 0 has a wrong type
>  - Can't parse 'pt2'. Sequence item with index 0 has a wrong type
>  - Can't parse 'rec'. Expected sequence length 4, got 2
>  - Can't parse 'rec'. Expected sequence length 4, got 2

二、解决方法

报错显示,在调用函数cv2.rectangle时,无法分析“pt2”参数。索引为0的序列项的类型错误,去opencv官网查看用法如下:
cv2.error: opencv(4.8.0) :-1: error: (-5:bad argument) in function 'circle,Python,计算机视觉,python,opencv,目标检测
这下对应上了,是第二个参数pt2类型错误,强转int后运行,这个函数没报错了,又有其他opencv的函数报错。。。

最终方案
一个一个改也不是办法,最终发现是python版本和opencv_python不对应,我的python版本是3.6,opencv_python为4.5.5.64,改为4.4.0.46之后问题解决,具体操作如下:

  1. 查看opencv_python版本:
    pip show opencv_python
    
  2. 卸载原来的opencv_python:
    pip uninstall opencv_python
    
  3. 安装4.4.0.46版本的的opencv_python:
    pip install opencv_python==4.4.0.46
    

如果是其他版本的python,请参考下图找到对应版本的opencv_python
cv2.error: opencv(4.8.0) :-1: error: (-5:bad argument) in function 'circle,Python,计算机视觉,python,opencv,目标检测文章来源地址https://www.toymoban.com/news/detail-660586.html

到了这里,关于【YOLOv4运行demo.py报错】:cv2.error: OpenCV(4.5.5) :-1: error: (-5:Bad argument) in function ‘rectangle‘的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • cv2.error: OpenCV(4.8.1) D:xxxerror: (-2:Unspecified error) The function is not implemented.报错

    在用harries角点检测算法的过程中,遇到了这个报错:   然后先问了一下gpt,gpt说 :    我估计可能是版本问题,最后找到了这个链接  : Link 那么要怎么解决呢? 执行下面命令即可 :  This solution seems to work for a majority of users, but not all. If you are in this case, see the proposed answer by Sachin

    2024年02月03日
    浏览(46)
  • cv2.line使用报错【已解决】error: OpenCV(4.7.0) :-1: error: (-5:Bad argument) in function ‘line‘ > Overload

    cv2.line: image = cv2.line(image, 直线起点坐标, 直线终点坐标, 颜色, 粗细) 使用cv2.line时,报告了如下错误 error提示索引为1的参数类型错误,即(weigh, right_y), (0, left_y) 通过打印发现weigh、right_y、left_y数据类型为float 将数据类型修改为int后不在报错

    2024年02月11日
    浏览(46)
  • 【Python入门教程】CV2报错:cv2.error: OpenCV(4.7.0) D:\a\opencv-python\opencv-python\opencv\modules\imgproc\s

             OpenCV作为一个强大计算机视觉库被各个领域广泛应用,今天分享下自己编程遇到的报错信息以及解决办法。         这里包含了一个警告和一个报错信息。          警告信息: OpenCV库在处理TIFF图像时遇到的问题有关。从警告信息来看,你的TIFF图像可能使

    2024年02月08日
    浏览(50)
  • Pycharm里opencv(cv2) 提示在 __init__.py 中找不到任何 OpenCV 函数的引用

    ​ 本小白踩坑记录 遇到这个问题时,看了很多大神的帖子,包括在解释器里添加.pyd文件的路径、把import cv2 改成 import cv2.cv2、重装opencv等,我试了都没效果。 最后发现其实问题很简单,opencv和Python 版本不对应 。。。。。 在pycharm里和cmd里安装时如果输入 : 默认安装的版本

    2024年02月11日
    浏览(90)
  • cv2.error: OpenCV(4.6.0) :-1: error

    cv2.error: OpenCV(4.6.0) :-1: error: (-5:Bad argument) in function \\\'imwrite\\\' Overload resolution failed: - img is not a numpy array, neither a scalar - Expected Ptrcv::UMat for argument \\\'img\\\' 报错的程序是上面那行,错误原因是第一个逗号,删掉逗号就可以了

    2024年02月15日
    浏览(39)
  • bug:cv2.error: OpenCV(4.7.0)

    cv2.error: OpenCV(4.7.0) D:aopencv-pythonopencv-pythonopencvmodulesobjdetectsrccascadedetect.cpp:1689: error: (-215:Assertion failed) !empty() in function \\\'cv::CascadeClassifier::detectMultiScale\\\' (1)路径写错了,多了斜杠 (2)img = cv2.imread(“…/data/lena.jpg”) 路径中不能有中文 路径不对也会报错

    2024年02月11日
    浏览(40)
  • opencv报错cv2.error: OpenCV(4.8.0) D:\a\opencv-python\opencv-python\opencv\modules\core\src\alloc.cpp:

    opencv报错: 这个错误通常表示你的计算机内存不足,导致OpenCV无法分配需要的内存。解决此问题的方法如下: 增加计算机内存:如果你的计算机内存过小,可以考虑增加内存来解决该问题。 释放不需要的内存:在运行大型程序时,你可以尝试释放一些不需要的内存,如关闭

    2024年02月08日
    浏览(36)
  • 【opencv】cv2.error: OpenCV(4.5.5) :-1: error: (-5:Bad argument) in function ‘imshow‘

    今天在实现sobel算子时,用了cv的filter2D函数以后,报了如下错误 报错代码段: 看到报错里面有 data type = 23 ,猜测是图像的数据类型有问题,输出一看发现img中元素的数据类型是float16,现在看看imshow的要求。 opencv的官方注释指出:根据图像的深度,imshow函数会自动对其显示

    2024年02月11日
    浏览(46)
  • OpenCV使用cv2.imshow()报错的解决办法

    The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Cocoa support. 版本出错应该是不太可能的,于是我试着安装一下OpenCV的拓展开发包也就是. opencv-contrib 没想到,折腾好久的问题,最后一行命令解决问题了 pip install --user opencv-contrib-python -i https://pypi.tuna.tsinghua.edu.cn 总结

    2024年02月11日
    浏览(68)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包