본문 바로가기

인공지능/딥러닝

OpenCV로 실시간 웹캠 이미치 처리시 문제점

논문 제출 시 추가적인 자료로 데모 영상을 제출하기 위해서

웹캠을 통해서 실시간으로 이미지 처리를 하려고 OpenCV를 활용해봤다.

문제는 어떤 걸 찍든지 하나의 클래스로만 분류를 하는 점이었다.

처음에는 오버피팅을 의심했으나 웹캠에 찍힌 이미지로 테스트를 해보면 잘 됐다.

그래서 원인을 분석해본 결과 OpenCV의 버그였다.

기존 While문 안에서 Frame별 이미지를 Tensor로 전환하여 모델에 전달했던 방법에서

Frame별 이미지를 우선 cv2.imwrite로 저장하고 그걸 PIL로 불러와서 Tensor로 전환하여 모델에 전달했더니 잘 작동했다.

정확한 원인은 모르지만 cv2.videocapture의 Frame 값이 정상적인 값은 아닌것같다.

현재 버전(4.5.4.58)만의 문제인지는 모르겠으나 추후에는 해결되었으면 한다.

 

반응형