Python houghttransform线中的错误
我正在尝试在网络摄像机上使用Opencv和Python获得hough线 但我在回溯时收到了一个错误(上次调用):文件“C:/Python27/Hough_video_try.py”,第14行,在for rho中,θ在[0]行中:TypeError:“NoneType”对象没有属性“getitem” 下面是我的代码,请帮忙Python houghttransform线中的错误,python,opencv,numpy,hough-transform,Python,Opencv,Numpy,Hough Transform,我正在尝试在网络摄像机上使用Opencv和Python获得hough线 但我在回溯时收到了一个错误(上次调用):文件“C:/Python27/Hough_video_try.py”,第14行,在for rho中,θ在[0]行中:TypeError:“NoneType”对象没有属性“getitem” 下面是我的代码,请帮忙 import numpy as np import cv2 cam = cv2.VideoCapture(0) while (True): s, img = cam.rea
import numpy as np
import cv2
cam = cv2.VideoCapture(0)
while (True): s, img = cam.read()
winName = "Movement Indicator"
cv2.namedWindow(winName, cv2.WINDOW_AUTOSIZE)
edges = cv2.Canny(img,100,200)
lines = cv2.HoughLinesP(edges,1,np.pi/180,2,None,30,1)
if lines is None:
for rho,theta in lines[0]:
pt1 = (line[0],line[1])
pt2 = (line[2],line[3])
cv2.line(img, pt1, pt2, (0,0,255), 3)
cv2.imshow('edges',edges)
cv2.imshow('original',img)
if cv2.waitKey(1) & 0xff == ord('q'):
break
cam.release()
cv2.destroyAllWindows()
问题在您正在检查的情况下
if lines is None:
for rho,theta in lines[0]:
如果行
为无
如何获得无[0]
请改变条件
if lines is not None:
for rho,theta in lines[0]:
哪一行触发该错误?使用
如果不是行为无
,处理无对象的乐趣是什么?显然行为无
;事实上,如果lines为None,您已经显式地检查了,所以您应该知道这一点。为什么要尝试索引到无?!你的意思是说如果行不是无的话,那是我犯的愚蠢的错误。我检查了一个错误的情况。但是现在我得到了一个特殊的错误作为回溯(最近一次调用是最后一次):文件“C:/Python27/Hough_video_try.py”,第14行,在for rho中,θ在第[0]行中:ValueError:太多的值无法解包我使用了与上面给出的相同的代码,条件正确。请帮我解决这个问题error@Anurag这可能是因为第[0]行返回的值比第2行多,所以返回的值不能只包含2个变量,我猜它返回4个值,请通过运行len(第[0]行)确认它。它将为您提供返回值的数量计数,然后您可以使用w,x,y,z=第[0]行但是变量的数量总是取决于函数调用返回元素的数量。