[numpy问题]The truth value of an array with more than one element is ambiguous.

2023-05-16

问题描述:在进行Hough圆变换时,需要输出一个圆的坐标:

circles = cv2.HoughCircles(canny, cv2.HOUGH_GRADIENT, 2, 40, param1=30, param2=30, minRadius=0, maxRadius=20)

接下来会根据这个圆的坐标来画圆心:

for circle in circles[0]:
    x=int(circle[0])
    y=int(circle[1])
    r=int(circle[2])
    #crop = img.copy()
    crop=cv2.circle(crop,(x,y),r,(255,255,255),1)
    crop = cv2.circle(crop, (x, y), 1, (255, 255, 255), -1)
    cv2.imshow("crop", crop)

这时候如果hough圆变换没有检测出来圆的话会报错会显示circles是NoneType,如果加一个判定

if circles!=None:

则会报错ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
意思上一个判断语句有些模棱两可,circles是很多个圆,不一定所有的都是NoneType。
根据提示修改判断语句为:

if  np.all(circles!=None):
    for circle in circles[0]:
    x=int(circle[0])
    y=int(circle[1])
    r=int(circle[2])
    #crop = img.copy()
    crop=cv2.circle(crop,(x,y),r,(255,255,255),1)
    crop = cv2.circle(crop, (x, y), 1, (255, 255, 255), -1)
    cv2.imshow("crop", crop)

表示circles里面所有的圆都不是Nonetype格式时,判断为真。解决掉了这个bug。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

[numpy问题]The truth value of an array with more than one element is ambiguous. 的相关文章

随机推荐

  • error: no configuration has been provided, try setting KUBERNETES_MASTER environment variable

    k8s报error no configuration has been provided try setting KUBERNETES MASTER environment variable错误解决方法1 18 1版本 使用vi编辑器打开
  • ubuntu 安装PHP+Apache

    安装Apache sudo apt install apache2 安装PHP 7 4 Ubuntu 20 04默认安装的版本 sudo apt install php libapache2 mod php 安装完成重启Apache服务 s
  • ASCII码判断大小

    ASCII码的值大小排列 xff1a a z gt A Z gt 0 9 在小写字母中z最大 xff0c a最小 在大写字母中Z最大 xff0c A最小 在0到9中 9最大 xff0c 0最小 故选D选项
  • 二进制运算相关的题目

    将二进制数01011010 转换成十进制数 xff0c 然后将十进制数 x 2 得到的值将其化为二进制数 01011010 十进制数为90 180 二进制数为10110100 故选C选项
  • 重装Ubuntu系统及系列软件安装

    重装Ubuntu系统及系列软件安装 1 安装ubuntu20 04 03系统下载Ubuntu20 04 03系统更换系统apt的源 2 CUDA和cudnn安装下载CUDA安装包并安装 3 pycharm的安装 4 conda的安装 5 兼
  • Qt中UI对象只能在主线程中操作,那如何在子线程中操作UI呢

    为什么在Qt中UI对象只能在主线程中操作 在Qt中 xff0c UI对象只能在主线程中操作 xff0c 因为Qt采用了事件循环机制 xff0c UI事件 xff08 如鼠标点击 键盘输入 xff09 都是在主线程中处理的 如果在子线程中直接
  • python学习记录

    python学习记录 python学习python运行顺序类的使用模块导入import不同级模块导入模块导入的重名问题 xff1a 注意的点 修饰器 正则表达式 python学习 本文是关于python的学习记录文章 比较基本 比较潦草 p
  • 案例二:基于MapReduce分词统计

    案例二 xff1a 基于MapReduce的分词统计 一 准备条件 xff1a 1 数据源 xff1a 六个 txt 诗经文件 2 Hadoop集群环境 五 功能实现 前提准备 xff1a 引入类库将Hadoop包解压 xff0c 并进入相
  • RHEL8.3 配置VNC 远程

    一 安装VNC 选取比较流行的tigervnc dnf install tigervnc span class token operator span server tigervnc span class token operator sp
  • 一次使用Dockerfile构建tomcat镜像时遇到的Linux内核问题

    当前版本 span class token punctuation span root 64 zyrox test alpine images span class token punctuation span span class tok
  • Java中Lambda表达式的使用

    Lambda表达式是Java SE 8中一个重要的新特性 lambda表达式允许你通过表达式来代替功能接口 lambda表达式就和方法一样 它提供了一个正常的参数列表和一个使用这些参数的主体 Lambda表达式还增强了集合库 Java SE
  • 用mscomm控件编写串口通信出现error reading comm device错误-已解决

    一 问题描述 用mscomm控件编写串口通信过程中 xff0c 在消息响应函数OnComm函数下接受串口发送过来的数据时 xff0c 在get Input 函数会出现error reading comm devece 错误 具体代码如下 x
  • 使用Spring Security后,页面iframe加载不出来

    错误 Refused to display http localhost 8080 console in a frame because it set X Frame Options to deny 解决办法 授权的时候开启iframe的加
  • 软件工程笔记八__面向对象

    1 面向对象方法四要点 xff08 1 xff09 对象 xff1a 客观世界有各种对象组成 xff0c 任何事物都是对象 xff0c 比如一支笔 xff0c 一张纸 xff0c 复杂的对象可由简单的对象以某种方式组合而成 对象分解取代功能
  • C++如何获取当前时间

    导读 文章首先介绍了使用C库的接口来获取当前时间的方法 xff0c 然后介绍了使用C 43 43 11标准库中的函数来获取当前时间的方法 此外 xff0c 文章还介绍了使用函数strftime来格式化时间字符串的方法 xff0c 并列举了常
  • Java笔记(一):volatile、synchronized关键字

    volatile关键字 volatile字面意思为易变的 不稳定的 xff0c 事实上也正是如此 这个关键字的作用就是告诉编译器 xff0c 只要是被此关键字修饰的变量都是易变的 xff0c 不稳定的 主要是volatile所修饰的变量是直
  • 读取cv.VideoCapture(0)的frame帧转变为PIL.Image图片格式时遇到的坑

    在项目中遇到一个问题是想将VideoCapture 读到的frame图片转变成PIL的Image图片格式 坑1 xff1a BGR还是RGB模式 xff1f 兴冲冲地在在网上找到一段代码 xff0c 将opencv中的imread 图像转成
  • linux命令记录

    linux三剑客 xff1a grep xff0c awk xff0c sed 1 grep命令 2 awk命令 linux中的awk命令是一种处理文本的工具 AWK命名来源于三位创始人的家族名称首字母 可以分行对文本进行处理 其命令格式如
  • [joysticker]使用Ubuntu读取USB手柄/方向盘的输出控制

    摘要 xff1a 在淘宝上买到的游戏手柄 USB卖家只给了Windows下的驱动 xff0c 本来以为Ubuntu下没有驱动 xff0c 没想到网上早已经有人用cpp开发出了USB手柄的驱动 xff0c 搜索很多博客的方法终于从手柄拿到数据
  • [numpy问题]The truth value of an array with more than one element is ambiguous.

    问题描述 xff1a 在进行Hough圆变换时 xff0c 需要输出一个圆的坐标 xff1a circles 61 cv2 span class hljs preprocessor HoughCircles span canny cv2 s