python - cv2.inrange() 用于多种颜色检测(要检测63种不同颜色的情况)
问题描述
我列出了要检测的 63 色像素。这个想法是制作 63 个面具并将它们组合在一起。为此,我在列表中使用了 for 循环,但问题是我在运行程序时收到此错误。
ValueError:操作数无法与形状一起广播 (651,1366) (0,)
这是代码:
import numpy as np
import cv2
listofpixel = [(156,140,140), (221,16,30), (134,124,159), (170,134,140), (86,96,85), (83,46,53), (192,180,213), (116, 52,33),(168,156,181), (142,119,123),(132,75,61), (63,36,43),(53,63,56), (85,82,112),(21,13,11), (116,100,148),(68,68,100), (108,108,148),(117,44,61), (47,24,27),(236,44,76), (56, 44, 73),(83, 36, 28), (172, 156, 196),(110, 100, 126), (193, 100, 94), (252, 80, 124), (11, 18, 22), (83, 79,73), (120, 82, 92), (36, 36, 52), (40, 45, 51), (124, 64, 84), (156, 156, 172),(76, 60, 100), (44, 53, 69),(98, 95, 132), (36, 33, 39),(26, 20, 20), (188, 68, 116),(66,77, 72), (28, 26, 32),(20, 25, 31), (76, 16, 36),(100, 108, 136), (27, 36, 39),(148, 116, 88), (32, 12, 20),(52, 48, 55), (130, 100, 100),(28, 44, 36), (156, 92, 104),(28, 28, 44), (28, 44, 44), (36, 20, 30), (160, 180, 72)]
empty_array = np.array([])
for i in listofpixel:
mask = cv2.inRange(img, np.array(i), np.array(i))
empty_array = mask+empty_array
解决方案
推荐阅读
- fiware - 多个物联网代理
- javascript - 如何添加事件侦听器以使用常规 javascript 检查单选按钮?
- python - django注册账号找不到注册的url
- bash - 如何在两次连续运行的 bash 脚本之间存储状态
- javascript - 当有人使用 Firebase 关注其他人时,您如何触发云功能?我正在使用 Atom 和 Xcode
- python - 如何在 matplotlib 中制作具有多星统计意义的标签
- python - python pandas数据框合并两行
- ddev - 在 DDEV 中,如何在 docker 容器中自动使用自定义 shell 配置?
- javascript - Webpack 和 Phaser 3 配置
- sql - SQL Server:获取“日历”表中的值总和而不加入