2017-03-02 2 views
0

나는이 모든 것을 보았습니다.이 질문에 대한 답을 찾을 수 없으므로 계속 묻습니다. 나는 python을위한 opencv를 찾아 내려고 노력 중이다. 이 코드를 실행할 때마다 'CV_CHAIN_APPROX_SIMPLE'이라는 속성이 없다는 것을 알려줍니다. 그렇다면 모든 CV_CHAIN_APPROX를 사용해 보았지만 아무 것도 효과가 없었습니다. 나는 심지어 나의 IDLE에 갔다. 그리고 그것은 어느 쪽 이었는지에 관해 알지 않았다. 그래서 나는 붙이게된다. 움직이는 표적의 중심 좌표를 찾는 프로그램을 만들려고합니다. findContours를 올바른 방향으로 사용 하시겠습니까? 죄송합니다! 나는 stackoverflow를 처음 사용하기 때문에 이러한 질문에서 내가 무엇을 물어볼 수 있는지 잘 모르겠습니다! 정말 고마워 !!AttributeError : 모듈 'cv2'에 'CV_CHAIN_APPROX_SIMPLE'속성이 없습니다.

버전에서
import cv2 
import numpy as np 

cap = cv2.VideoCapture(0) 
fgbg = cv2.createBackgroundSubtractorMOG2() 

while True: 
    _, frame = cap.read() 
    fgmask = fgbg.apply(frame) 
    filtered = cv2.medianBlur(fgmask, 15) 
    (a, b, c) = cv2.findContours(filtered, cv2.RETR_EXTERNAL, cv2.CV_CHAIN_APPROX_SIMPLE) 

    cv2.imshow('cont', b) 
    cv2.imshow('fg', fgmask) 
    cv2.waitKey(1) 

답변

0


'2.4.9는'나는 분명히 (도 등) cv2.CHAIN_APPROX_NONE을 볼 수 있습니다 당신은 당신이 당신의 예에서했던 것처럼 앞에 cv2.을 추가 잊지 않고 확신합니다. 그렇지 않은 경우 cv2.__version__을 수행하여 버전을 추가하십시오.

+0

예, 죄송합니다. 나는 내 코드에서 그렇게했습니다. 나는 그걸 빨리 적어 뒀어. 나는 그것이 있어야한다는 것을 알고 있습니다. 그래서 나는 왜 그렇게 혼란스러워합니다. –

+0

@ Dr.Snow CV 버전은 무엇입니까? 코드는 일단 내 대답을 사용하면 나에게 적합합니다. 당신이'cv2.'을 추가했는지 확인하고'CV_CHAIN_APPROX_SIMPLE'에서'CV_'을 제거 했습니까?'cv2.CHV_CHANGE_APPROX_SIMPLE'이 아닌'cv2.CHAIN_APPROX_SIMPLE'이어야하기 때문입니다. – ljetibo

0

당신은 너무 당신의 라인처럼 될 필요가 createBackgroundSubtractorMOG2에 기반을 OpenCV 3.0> 사용 :

(a, b, c) = cv2.findContours(filtered, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) 

모든 OpenCV의 기능의 앞에 cv2.을 잊지 마세요.

관련 문제