首页 > 编程语言 >Python元组传参, cv2.rectangle的奇怪错误

Python元组传参, cv2.rectangle的奇怪错误

时间:2023-04-29 10:11:53浏览次数:55  
标签:传参 tuple Python cv2 int colors print True

colors = (np.array(colors) * 255).astype(np.int)
color = colors[i]
cv2.rectangle(img, (x0, y0), (x1, y1), color, 2)
"""
tuple(colors[i])
(0, 255, 0)
tuple(colors[i]) == (0,255,0)
True
cv2.rectangle(img, (x0, y0), (x1, y1), colors[i], 2)
Traceback (most recent call last):
  File "<string>", line 1, in <module>
cv2.error: OpenCV(4.7.0) :-1: error: (-5:Bad argument) in function 'rectangle'
> Overload resolution failed:
>  - Scalar value for argument 'color' is not numeric
>  - Scalar value for argument 'color' is not numeric
>  - Can't parse 'rec'. Expected sequence length 4, got 2
>  - Can't parse 'rec'. Expected sequence length 4, got 2

cv2.rectangle(img, (x0, y0), (x1, y1), (0,255,0), 2)
"""

就是这个问题,tuple(a),a 是一个numpy int的数组,然后a也和某个元组相等,但是传参就不行

通过这个博客得到了启发

进行如下尝试

import numpy as np
a = np.array([1,2,3]).astype(np.int32)
b = tuple(a)
print(b) # (1,2,3)
print(b == a) # [ True  True  True]
print(type(b[0])) # <class 'numpy.int32'>
c = (1,2,3)
print(c == a) # [ True  True  True]
print(c == b) # True
print(type(c[0])) # <class 'int'>

发现,虽然通过 Numpy 转换过来的b虽然和a数值上相等,但是其数据类型不是int,因此在 cv2 当中出现了报错

正确的转换方式应该是

tuple_int = tuple(map(lambda x:int(x), a))
print(type(tuple_int[0]))

标签:传参,tuple,Python,cv2,int,colors,print,True
From: https://www.cnblogs.com/zxyfrank/p/17363630.html

相关文章

  • 树莓派Python读取DHT11温湿度数据
    树莓派4使用Python通过GPIO从DHT11温湿度传感器读取数据原文地址:https://blog.zeruns.tech/archives/625.html介绍DHT11是一款有已校准数字信号输出的温湿度传感器。其精度湿度±5%RH,温度±2℃,量程湿度20-90%RH,温度0~50℃。精度不高,但价格低廉。DHT11使用单总线通信。供电电......
  • 4.25python
      Python编程规范主要包括代码布局、命名规范、注释规范、函数编写规范等多个方面,下面给出一些常见的编程规范及其示例代码。1.代码布局规范代码布局规范主要是指代码的缩进、行宽、空行、换行等方面,下面是一些常见的代码布局规范:使用四个空格作为一个缩进级别,不要使......
  • [oeasy]python0141_自制模块_module_reusability_复用性
    自制包内容回忆上次内容上次导入了外部的py文件importmy_module导入一个自己定义的模块 可以使用my_module中的变量不能直接使用my_module.py文件中的变量只要加my_module.作为前缀就可以  直接导入导入变量、函数frommy_mo......
  • /usr/bin/env: ‘python’: No such file or directory
     01、问题 02、解决方法a、root@DESKTOP-A31BQ38:/home/software/gatk-4.4.0.0#whichpython3##确定已经安装python;或者执行whichpython,输出python可调用路径/usr/bin/python3 b、root@DESKTOP-A31BQ38:/home/software/gatk-4.4.0.0#ln-s/usr/b......
  • 【Python】【MySQL】Python将JSON数据以文本形式存放到MySQL的Text类型字段中
    1.起因在做一个自动打卡的玩意。登录会得到那个平台一系列的信息。我又不想专门修改、增加数据库字段来存放,所有打算直接将返回的JSON数据保存到一个MySQL字段中。内容肯定不能直接放,考虑下比如数据注入的问题,对吧,容易出问题,所有我是打算将JSON数据转为base64编码的格式。先写......
  • python 发邮件 图片作附件
    importsmtplibfromemail.mime.textimportMIMETextfromemail.mime.multipartimportMIMEMultipartfromemail.mime.imageimportMIMEImage#邮件发件人和收件人信息sender_email='你的Gmail地址'sender_password='你的Gmail密码'recipient_email='收......
  • python 读写sqlite3
    importsqlite3#连接到SQLite3数据库conn=sqlite3.connect('example.db')#创建一个表conn.execute('''CREATETABLEIFNOTEXISTSusers(idINTEGERPRIMARYKEYAUTOINCREMENT,nameTEXTNOTNULL,ageI......
  • 《流畅的Python》第二版上市了,值得入手么?
    《FluentPython》第一版在2015年出版,简体中文版《流畅的Python》在2017年出版。从那时起,它就成为了所有Python程序员的必读之书。如果一份面向中高级Python开发者的书单里不包含这本书,那这份书单肯定不合格!《FluentPython》第二版在2022年出版,最近,简体中文版《流畅的......
  • Python Requets库学习总结
    快速开始发送请求>>>importrequests>>>r=requests.get('https://api.github.com/events')#GET>>>r=requests.post('https://httpbin.org/post',data={'key':'value'})#POST>>>r=r......
  • Python模块之struct
    0背景在工作中,有些二进制文件,是通过结构体写入文件而形成,我们有时候想解析这些文件,那如何操作呢?python的struct模块和C语言的结构体是相对应的,这样,只要知道结构体的定义,我们就可以通过struct模块写出一些解析工具。1.strcut模块介绍class struct.Struct(format)......