본문 바로가기
728x90
반응형

Programming/Computer Vision9

ValueError: matrix contains invalid numeric entries 에러 억제 방법 (Yolov5 + deepSORT) 증상 Yolov5 + deepSORT object tracking 알고리즘 실행 시 다음과 같은 에러를 만났다. 어떤 matrix에 숫자로 타당하지 않은 원소가 있다는 에러이다. return _lsap_module.calculate_assignment(cost_matrix) ValueError: matrix contains invalid numeric entries 이 에러는 linear_assignment.py 파일안에 있는 scipy.optimize.linear_sum_assignment()에 의해 계산된 cost_matrix에 nan (Not a Number)이 포함되어 있어 발생하는 에러이다. 아래와 같이 프로그램을 다시 돌려 cost_matrix가 어떤 값을 가지는지 확인해보자. 역시 NaN이 .. 2021. 10. 26.
FFMPEG로 다양한 input-output 소스 스트리밍하기 (option 설명 포함) FFMPEG은 영상을 인코딩/디코딩하는데 사용되는 프로그램이다. 영상처리의 특성상 설정할 수 있는 변수들이 수도 없이 많다. 그중에 몇가지 live streaming 관련해서 유용하게 쓸 수 있는 명령어를 정리해 보았다. 관련 옵션도 함께 정리하였으며, 이렇게 해 두면 다음에 다시 찾기도 편할 것으로 생각된다. Case 1: MP4 ---> MP4 ffmpeg -re -i myvideo.mp4 -codec copy -f mp4 output.mp4 설명: myvideo.mp4를 (-re)로 고유의 프레임 속도로 읽어서 (-f) mp4 포맷으로 출력한다. Case 2: rtsp live stream ---> MP4 ffmpeg -rtsp_transport tcp -i rtsp source -r 10 -t 6.. 2021. 10. 23.
[OpenCV] 이미지 이진화(Image binarization)를 이용한 image segmentation (Python) 이미지 이진화(image binarization)는 아래의 도식에서 보이듯이 여러 이미지 분리(image segmentation)의 기법 중 가장 간단한 방법이다. 이진화라는 용어로부터 알 수 있듯이 이 방법은 이미지 픽셀의 여러 값들을 0 또는 255, 이를 테면 물체와 배경을 0과 255 혹은 그 반대의 방식으로, 이 두 값만으로 이미지의 모든 픽셀 값을 변환하는 것이다. 이 방법은 픽셀값이 0~255 사이의 값을 가지는 흑백 이미지에만 적용할 수 있다. 픽셀값을 0과 255만으로 바꾸기 위해 thresh라는 임계값을 먼저 정해야 한다. 임계값 보다 큰 픽셀은 모두 0 그렇지 않으면 모두 255 이런 식으로 픽셀값을 변환하는 것이다. 임계값을 수동으로 혹은 알고리즘에 의해 자동으로 설정할 수 있다. .. 2021. 6. 28.
[OpenCV] K-Means를 이용한 Image Segmentation(이미지 분할) [OpenCV] K-Means를 이용한 Image Segmentation(이미지 분할) 이미지 분할(segmentation) 은 컴퓨터 비전에서 물체를 인식하고 분리하는데 기초가 되는 중요한 이미지 처리 방법이다. 이번 포스팅에서는 K-Means clustering을 이용한 이미지 분할이 어떻게 이루어지는지 기초적인 예제를 통해 공부해 보도록 하겠다. K-Means Clustering를 지원하는 많은 라이브러리 중 OpenCV 를 이용하도록 하겠다. 1. Pre-test with a few points 알고리즘의 테스트를 위해 몇 개의 포인트로 이루어진 데이터에 대해서 OpenCV의 K-means clustering이 어떻게 작동하는지 테스트해보도록 하겠다. 다음의 12개의 좌표로 이루어진 데이터가 있다.. 2020. 11. 5.
728x90
반응형