Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用OpenCV在不需要帧中对象的情况下检测轮廓_Python_Opencv_Numpy_Raspberry Pi - Fatal编程技术网

Python 使用OpenCV在不需要帧中对象的情况下检测轮廓

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

我正在用python和OpenCV编程。 我正在使用计算机视觉进行颜色分割,使用函数“FindContour”,并找到一个函数来查找轮廓(“cv2.contourArea”),以随后计算对象的面积。。但是,这些功能只有在帧中是彩色对象时才起作用。如果帧中不存在任何对象,则返回错误: “melhor_contorno不是numpy数组”

这意味着没有为变量分配任何值。。。我没办法解决这个问题

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
。如果
轮廓区域
没有找到任何轮廓,则永远不会初始化,这就是它提示您该错误的原因。用零值在循环中声明它?