인공지능/딥러닝
OpenCV로 실시간 웹캠 이미치 처리시 문제점
mindw96
2022. 1. 21. 16:48
논문 제출 시 추가적인 자료로 데모 영상을 제출하기 위해서
웹캠을 통해서 실시간으로 이미지 처리를 하려고 OpenCV를 활용해봤다.
문제는 어떤 걸 찍든지 하나의 클래스로만 분류를 하는 점이었다.
처음에는 오버피팅을 의심했으나 웹캠에 찍힌 이미지로 테스트를 해보면 잘 됐다.
그래서 원인을 분석해본 결과 OpenCV의 버그였다.
기존 While문 안에서 Frame별 이미지를 Tensor로 전환하여 모델에 전달했던 방법에서
Frame별 이미지를 우선 cv2.imwrite로 저장하고 그걸 PIL로 불러와서 Tensor로 전환하여 모델에 전달했더니 잘 작동했다.
정확한 원인은 모르지만 cv2.videocapture의 Frame 값이 정상적인 값은 아닌것같다.
현재 버전(4.5.4.58)만의 문제인지는 모르겠으나 추후에는 해결되었으면 한다.