컴퓨터비전

AttributeError: 'NoneType' object has no attribute 'shape'

IT grow. 2019. 9. 23. 16:40
반응형

 

Yolo를 사용하여 

영상처리를 연습하던 중에 제목처럼 오류가 났다.

 

해결방법은 간단했다.

 

다음 코드를 보면 

cv2.VideoCapture를 통해 동영상을 캡쳐하려 한다.

cap = cv2.VideoCapture(IMAGE)
print(cap)

index = 0

while (cap.isOpened()):
    ret, frame = cap.read()
    processImage(frame, index)
    index = index + 1

문제는 이런식으로 하다 보니까 

프레임이 없는 곳에 Nonetype으로 오류가 났다.

참고로 prcessImage는 이미지처리 하는 메소드이다

바운딩박스하는 것이다.

 

다음은 수정된 코드이다.

 

cap = cv2.VideoCapture(IMAGE)
print(cap)

index = 0

while (cap.isOpened()):
    ret, frame = cap.read()

    if type(frame) == type(None):
        break

    processImage(frame, index)
    index = index + 1

바뀐점은 if문을 추가하여 frame의 type이 None이게 된다면 break를 하여 

처리하였다.

반응형