본문 바로가기

프로그래밍/OpenCV

OpenCV 카메라 FPS 구하는 예제 코드 OpenCV 카메라 FPS 구하는 예제 (가끔 필요한) 하지만 필요할때마다, 재작성하는 fps 구하는 예제코드를 기록해둡니다. :) OpenCV+Python 으로 작성된 카메라 FPS 출력 예제 import cv2 import time cam = cv2.VideoCapture(0) cam.set(cv2.CAP_PROP_FRAME_WIDTH, 1920) cam.set(cv2.CAP_PROP_FRAME_HEIGHT, 1080) prev_time = 0 while cv2.waitKey(1) < 0: curr_time = time.time() ret, frame = cam.read() fps = 1 / (curr_time - prev_time) prev_time = curr_time print(f'FPS = {.. 더보기
opencv4nodejs 을 이용한 개발환경 구축 윈도우에서 opencv4nodejs 을 이용한 개발환경 구축하기 윈도우 환경에서 USB카메라와 웹서비스와 연동하는 과정에서 어떤 라이브러리를 쓸까 고민해보았습니다. 리눅스라면, V4L2 를 사용하겠지만, 윈도우 환경에서는 USB카메라를 위해 OpenCV 를 사용해보려고 합니다. 또한 웹서비스 연동을 위해서 NodeJS 바인딩이 필요하여, opencv4nodejs 패키지를 찾게 되었습니다. opencv4nodejs 설치하고 실행해보기 테스트환경 Windows 10, Microsoft Windows [Version 10.0.22000.1098] nodejs (v16.18.0), npm (8.19.2) 설치된 상태 Windows 명령줄 패키지 매니저 chocolatey 설치 Windows 도 리눅스나 MacO.. 더보기
[OPENCV] 카메라 이미지 왜곡보정 OPENCV 를 이용한 카메라 왜곡보정 카메라에서 촬영된 이미지의 왜곡 보정 왜곡 보정의 준비작업 카메라 캘리브레이션 결과물을 사용해서 핀홀 카메라 렌즈, 촬영 시점 등에 의해서 발생한 왜곡(distortion)을 보정해본다. 2022.06.16 - [프로그래밍/OpenCV] - [OPENCV] 카메라 캘리브레이션 [OPENCV] 카메라 캘리브레이션 OPENCV 를 이용한 카메라 캘리브레이션 이 글의 대부분의 내용과 코드는 OpenCV 의 Satya Mallick CEO 포스팅을 참고 하였다. (아래링크) https://learnopencv.com/camera-calibration-using-opencv/ Camera Cali.. makepluscode.tistory.com OPENCV API 를 사용한.. 더보기
[OPENCV] 카메라 캘리브레이션 OPENCV 를 이용한 카메라 캘리브레이션 이 글의 대부분의 내용과 코드는 OpenCV 의 Satya Mallick CEO 포스팅을 참고 하였다. (아래링크) https://learnopencv.com/camera-calibration-using-opencv/ Camera Calibration using OpenCV | LearnOpenCV # A step by step tutorial for calibrating a camera using OpenCV with code shared in C++ and Python. You will also understand the significance of various steps. learnopencv.com 카메라 캘리브레이션 왜 카메라 캘리브레이션을 해야하는가.. 더보기
[OPENCV] SGBM vs StereoBM 깊이맵 결과 비교 OPENCV StereoBM & SGBM 깊이맵 결과 비교 스테레오 이미지의 StereoBM & SGBM 예제 테스트환경 테스트를 위한 Host PC 에는 우분투 Ubuntu 18.04 와 OpenCV 4.2.0 가 설치되어 있다. OpenCV 4.2.0 설치는 아래 포스팅을 참고한다. 2022.06.10 - [프로그래밍/OpenCV] - [OPENCV] Ubuntu 18.04 OpenCV 4.2.0 설치하기 [OPENCV] Ubuntu 18.04 OpenCV 4.2.0 설치하기 Ubuntu 18.04 OpenCV 4.2.0 설치하기 OpenCV (Open Source Computer Vision)은 컴퓨터비전 개발을 위한 오픈소스 라이브러리이다. 초기에는 인텔이 개발하였기 때문에, CPU에서 가속되는 .. 더보기
[OPENCV] 스테레오 깊이맵 성능 높이기 OpenCV 를 이용한 스테레오 Depth Map 성능 개선 OpenCV 를 이용한 스테레오 Depth Map 생성 시, 결과물 품질을 높이는 일반적인 방법에 대해서 정리 한다. 이미지 캡처 환경에 대한 조언들 카메라 캘리브레이션 카메라 intrinsic 과 stereo extrinsics 캘리브레이션을 최대한 정확히 하여 오차를 줄인다. 카메라 이미지 노이즈 최소화 가능한 과다(소) 노출을 최대한 피하고, 적당한 대비(contrast)를 유지한다. 반점(speckle) 을 줄이기 위해서는 ISO 를 낮춘다. 가급적 JPEG 등의 압축을 사용하지 않는다. 압축된 이미지에서의 노이즈는 사람의 눈으로 보이지는 않지만, 머신비전 알고리즘에서는 발견될 수 있다. OpenCV Stereo 파라미터의 이해 주요 파.. 더보기
[OPENCV] GSTREAMER 를 이용한 이미지 캡처 OPENCV GSTREAMER 를 이용한 이미지 캡처 OpenCV 에서 GSTREAMER 파이프라인을 이용한 이미지 캡처 방법 테스트환경 테스트를 위한 Host PC 에는 우분투 Ubuntu 18.04 와 OpenCV 4.2.0 가 설치되어 있다. OpenCV 4.2.0 설치는 아래 포스팅을 참고한다. 2022.06.10 - [프로그래밍/OpenCV] - [OPENCV] Ubuntu 18.04 OpenCV 4.2.0 설치하기 [OPENCV] Ubuntu 18.04 OpenCV 4.2.0 설치하기 Ubuntu 18.04 OpenCV 4.2.0 설치하기 OpenCV (Open Source Computer Vision)은 컴퓨터비전 개발을 위한 오픈소스 라이브러리이다. 초기에는 인텔이 개발하였기 때문에, CP.. 더보기
[OPENCV] 스테레오 카메라 StereoBM 예제 첫번째 OPENCV 스테레오 카메라 StereoBM 예제 OpenCV 를 이용한 스테레오 이미지의 StereoBM 예제 테스트환경 테스트를 위한 Host PC 에는 우분투 Ubuntu 18.04 와 OpenCV 4.2.0 가 설치되어 있다. OpenCV 4.2.0 설치는 아래 포스팅을 참고한다. 2022.06.10 - [프로그래밍/OpenCV] - [OPENCV] Ubuntu 18.04 OpenCV 4.2.0 설치하기 [OPENCV] Ubuntu 18.04 OpenCV 4.2.0 설치하기 Ubuntu 18.04 OpenCV 4.2.0 설치하기 OpenCV (Open Source Computer Vision)은 컴퓨터비전 개발을 위한 오픈소스 라이브러리이다. 초기에는 인텔이 개발하였기 때문에, CPU에서 가속되는.. 더보기
[OPENCV] Ubuntu 18.04 OpenCV 4.2.0 설치하기 Ubuntu 18.04 OpenCV 4.2.0 설치하기 OpenCV (Open Source Computer Vision)은 컴퓨터비전 개발을 위한 오픈소스 라이브러리이다. 초기에는 인텔이 개발하였기 때문에, CPU에서 가속되는 IPP(Intel Performance Primitives)를 지원한다. 현재 OpenCV 는 윈도우, 리눅스 등에서 사용 가능한 크로스 플랫폼이며 오픈소스 BSD 허가서 하에서 무료로 사용할 수 있다. OpenCV는 TensorFlow, Torch / PyTorch 및 Caffe의 딥러닝 프레임워크를 지원한다. (위키백과, 우리 모두의 백과사전) 컴퓨터버전을 위한 OpenCV 설치하기 기존 OpenCV 삭제하기 터미널에서 apt 명령으로 설치된 OpenCV 를 삭제한다. $ su.. 더보기
[OPENCV] MAT 클래스 type 이해하기 OPENCV MAT 클래스 type 이해하기 OpenCV (Open Source Computer Vision)은 컴퓨터비전 개발을 위한 오픈소스 라이브러리이다. 초기에는 인텔이 개발하였기 때문에, CPU에서 가속되는 IPP(Intel Performance Primitives)를 지원한다. 현재 OpenCV 는 윈도우, 리눅스 등에서 사용 가능한 크로스 플랫폼이며 오픈소스 BSD 허가서 하에서 무료로 사용할 수 있다. OpenCV는 TensorFlow, Torch / PyTorch 및 Caffe의 딥러닝 프레임워크를 지원한다. (위키백과, 우리 모두의 백과사전) MAT 클래스 type 출력 예제 저장된 이미지를 imread 함수로 읽어와서 Mat type 을 출력하는 예제를 작성한다. 테스트환경 테스트를 .. 더보기
[OPENCV] 여러개 이미지 합성 + 합치기 C++ 예제 OPENCV 여러개 이미기 합성하고 합치기 OpenCV (Open Source Computer Vision)은 컴퓨터비전 개발을 위한 오픈소스 라이브러리이다. 초기에는 인텔이 개발하였기 때문에, CPU에서 가속되는 IPP(Intel Performance Primitives)를 지원한다. 현재 OpenCV 는 윈도우, 리눅스 등에서 사용 가능한 크로스 플랫폼이며 오픈소스 BSD 허가서 하에서 무료로 사용할 수 있다. OpenCV는 TensorFlow, Torch / PyTorch 및 Caffe의 딥러닝 프레임워크를 지원한다. (위키백과, 우리 모두의 백과사전) 여러개 이미지 합성해서 출력하는 C++ 예제 두개의 카메라로 캡처한 이미지를 합성해서, 총 4개의 이미지를 생성한다. OpenCV API 인 hco.. 더보기
[OPENCV] Ubuntu 20.04 OpenCV 4.0.0 설치하기 Ubuntu 20.04 OpenCV 설치하기 OpenCV (Open Source Computer Vision)은 실시간 컴퓨터비전 개발을 위한 프로그래밍 라이브러리이다. 초기에는 인텔이 개발하였기 때문에, CPU에서 가속되는 IPP(Intel Performance Primitives)를 지원한다. 현재 OpenCV 는 윈도우, 리눅스 등에서 사용 가능한 크로스 플랫폼이며 오픈소스 BSD 허가서 하에서 무료로 사용할 수 있다. OpenCV는 TensorFlow, Torch / PyTorch 및 Caffe의 딥러닝 프레임워크를 지원한다. (위키백과, 우리 모두의 백과사전) 컴퓨터버전을 위한 OpenCV 우분투 20.04 OpenCV 설치하기 우분투 apt-get install 명령어를 통해 OpenCV 에서.. 더보기
[OPENCV] CMake opencv 샘플 예제 간단한 Cmake opencv 예제 OpenCV dependency 설정이 귀찮다면? OpenCV application 을 작성하다보면 라이브러리 linking 이나 헤더파일 include 에서 에러가 발생하는 경우가 있다. OpenCV 가 Windows, Linux, Mac 등의 다양한 플랫폼을 지원하고 있고, 세부적인 version 이 많아서 매번 비슷한 빌드 에러 이슈를 경험하기도 해서. 이번에 아주 간단한 Cmake OpenCV 예제를 github 에 기록해둔다. GitHub - makepluscode/opencv-examples Contribute to makepluscode/opencv-examples development by creating an account on GitHub. githu.. 더보기