如何解决opencv中findcontours如果没有搜索到设定颜色将返回空值使程序崩溃的问题

做了一个循环判断多种颜色的案例,但如果没有识别到指定颜色findcontour里就会因为没有拿到值出现各种错误,请问有没有办法处理没有值的max和cents,让函数能跳过此次错误继续判断其它颜色
已经试过if not cnts了,没有效果
代码片段和错误如下
谢谢各位
cnts = cv2.findContours(inRange_hsv.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)[-2]
c = max(cnts, key=cv2.contourArea)

img

img

需要拆开,用循环控制,如果出现错误进行异常处理后继续。也就是说用 for 循环和 try except 结合。

你应该用if cnts is not None而不是if not cnts来判断是否为空