2015-01-21 4 views
-1

웹캠에서 Opencv 및 Python을 사용하여 선을 얻으려고합니다.houghtransform 줄에 오류가 있습니다.

하지만 Traceback (가장 최근에 마지막으로 호출)으로 오류가 발생합니다. 파일 "C : /Python27/Hough_video_try.py", 줄 14, ρ, 줄 [0]의 theta : TypeError : 'NoneType' 개체가 어떤 속성 '의 getItem'아래

내 코드의 lines가경우

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() 
+0

을 변경하세요? – karlphillip

+0

'not not lines is None'을 사용하면 None 객체를 처리하는 재미는 무엇입니까? – ZdaR

+0

분명히'lines is None'; 사실, 당신은'if lines is None'을 명시 적으로 체크 했으므로, 정말로 알고 있어야합니다. 왜 '없음'에 색인을 붙이려고합니까?! '라인이 없음 '을 의미 했습니까? – jonrsharpe

답변

-1

문제가 상태에 당신이

if lines is None: 

    for rho,theta in lines[0]: 

을 확인하고 있습니다 도와주세요이 없습니다어떻게 얻을 것인가 None[0]?

조건이 오류를 트리거 라인

if lines is not None: 

    for rho,theta in lines[0]: 
관련 문제