Python 使用OpenCV在不需要帧中对象的情况下检测轮廓
我正在用python和OpenCV编程。 我正在使用计算机视觉进行颜色分割,使用函数“FindContour”,并找到一个函数来查找轮廓(“cv2.contourArea”),以随后计算对象的面积。。但是,这些功能只有在帧中是彩色对象时才起作用。如果帧中不存在任何对象,则返回错误: “melhor_contorno不是numpy数组” 这意味着没有为变量分配任何值。。。我没办法解决这个问题Python 使用OpenCV在不需要帧中对象的情况下检测轮廓,python,opencv,numpy,raspberry-pi,Python,Opencv,Numpy,Raspberry Pi,我正在用python和OpenCV编程。 我正在使用计算机视觉进行颜色分割,使用函数“FindContour”,并找到一个函数来查找轮廓(“cv2.contourArea”),以随后计算对象的面积。。但是,这些功能只有在帧中是彩色对象时才起作用。如果帧中不存在任何对象,则返回错误: “melhor_contorno不是numpy数组” 这意味着没有为变量分配任何值。。。我没办法解决这个问题 while 1: // image processing maior_area = 0 for pos
while 1:
// image processing
maior_area = 0
for posicao_contorno in contours:
area = cv2.contourArea(posicao_contorno)
if (area > maior_area):
#if (area > maior_area) and (maior_area >50):
maior_area = area
melhor_contorno = posicao_contorno
#else:
#draw contour nos objetos avulsos (escolher uma cor: ex: preto)
#print ("Contorno: "+str(melhor_contorno))
#Parâmetro True/False não são necessários!
moments = cv2.moments(melhor_contorno)
area = moments['m00']
//others functions
我不确定我是否理解你的要求。如果您显示图像,发布更多代码,并详细说明您尝试执行的操作,这会有所帮助。您可以在循环中声明变量
melhor\u contorno
。如果轮廓区域
没有找到任何轮廓,则永远不会初始化,这就是它提示您该错误的原因。用零值在循环中声明它?