如何解决TypeError:“ NoneType”对象不可迭代,borderdetection OpenCV
我知道这里有很多有关此类型错误的问题:TypeError:'NoneType'对象不是可迭代的,但是找不到帮助我的答案。我正在对Tetris电路板进行检测,其文字紧跟着来自该站点https://pysource.com/2019/12/07/detect-tetris-board-and-tetrominoes-python-plays-tetris-p-3/的视频。但是,当我尝试运行我的代码时,我得到了错误,并且我不知道如何解决它/哪怕是错误的。 这是我的代码:
import numpy as np
import argparse
import cv2
import sys
image = cv2.imread("tetris.png")
boundaries = (164,120,104)
boundaries1 = (166,122,106)
for (boundaries) in boundaries:
lower = np.array(boundaries,dtype = "uint8")
upper = np.array(boundaries1,dtype = "uint8")
board_mask = cv2.inRange(image,lower,upper)
output = cv2.bitwise_and(image,image,mask = board_mask)
_,contours = cv2.findContours(board_mask,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
contours = sorted(contours,key=lambda x: cv2.contourArea(x),reverse=True)
cnt = contours[0]
(board_x,board_y,board_w,board_h) = cv2.boundingRect(cnt)
cv2.drawContours(img,[cnt],-1,(0,255,0),3)
cv2.drawContours(virtual_board,3)
这是错误:
Traceback (most recent call last):
File "C:\Users\-my.user-\Desktop\detection.py",line 21,in <module>
contours = sorted(contours,reverse=True)
TypeError: 'NoneType' object is not iterable
请帮助我,什么地方不对,怎么解决?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。