칼만 필터로 웹캠 영상 속 파란원을 추적하는 OpenCV Python 에제입니다. 최초작성 2025. 2. 25https://youtu.be/_Il3njaItWU 전체 코드입니다. import cv2import numpy as npfrom collections import dequeimport timeclass KalmanFilter: def __init__(self): self.kf = cv2.KalmanFilter(4, 2) # 상태: (x, y, dx, dy), 측정: (x, y) # 측정 행렬 (x, y만 측정) self.kf.measurementMatrix = np.array([[1, 0, 0, 0], ..

RoMa를 사용하여 이미지 매칭해봤습니다. RoMa의 깃허브 저장소는 https://github.com/Parskatt/RoMa 입니다.2025. 2. 20 최초작성다음 포스트에 나온대로 conda 환경을 구성후 하는게 좋습니다. Visual Studio Code와 Miniconda를 사용한 Python 개발 환경 만들기( Windows, Ubuntu, WSL2)https://webnautes.tistory.com/1842 이제 XFeat를 테스트하기 위한 환경을 구성합니다. conda create -n roma python=3.10 conda activate roma git clone https://github.com/Parskatt/RoMa.git cd RoMa pip install -e .필요한 ..
칼만 필터를 사용하여 아치형 트랙 위에서 반복적으로 굴러가는 파란색 공을 추적하는 간단한 테스트입니다. 클로드를 사용하여 진행했습니다. 최초작성 2025. 2.14파란색 원이 원형 궤적을 그리다가 멈추는 경우, 칼만 필터의 추정 궤적이 어떻게 그려지는지 궁금해서 진행했던 다음 포스트 이후 아치형 트랙에서 파란색 공이 반복적으로 굴러가는 경우에는 칼만 필터의 추정 궤적이 어찌 될지 테스트해봤습니다. 물리학적인 요소를 넣으려고 하다가 쉽지 않아 일단은 빼놓은 상태입니다. 칼만 필터를 사용하여 파란색 원을 추적하는 간단한 테스트https://webnautes.tistory.com/2432 테스트 결과는 앞에서 했던 것과 유사합니다. 파란색 원이 아치형 트랙를 반복적으로 굴러가는 것을 칼만 필터는 이를 빨간..
파란색 원이 원형 궤적을 그리다가 멈추는 경우, 칼만 필터의 추정 궤적이 어떻게 그려지는지 궁금해서 코드를 작성했습니다.파란색 원이 원형을 그리며 이동하면 칼만 필터는 이를 빨간색 궤적으로 추정합니다. 스페이스바를 누르면 파란색 원이 순간적으로 멈추게 되고, 이때 칼만 필터의 추정 궤적은 직선 방향으로 이동하게 됩니다. q를 누르면 프로그램이 종료됩니다. 실행 결과는 아래 유튜브에 있습니다. https://youtu.be/TsZlWLuz0Y0 전체 코드입니다. import cv2import numpy as npfrom collections import deque# 전역 변수 설정WIDTH = 640HEIGHT = 480is_paused = False# 칼만 필터 초기화kalman = cv2.Kalma..

Visual Studio Code에서 손쉽게 OpenCV 코드를 컴파일하고 테스트하는 방법을 다룹니다. 2020. 12. 6 최초작성2021. 4. 21 기본 셸 관련 에러 해결2021. 7. 17 VIsual Studio Code 업데이트 후, CMAKE 사용시 바뀐점 반영2021. 9. 15 CMakeLists.txt에서 누락된 부분 수정2021. 10. 8 Visual Studio Code 바뀐 부분 수정2023. 3. 252025. 1. 26 컴파일러 다운로드 위치 추가 및 글 확인하여 수정윈도우 환경에서 C++로 작성된 OpenCV 코드를 컴파일하기 위해 보통 Visual Studio를 설치하여 사용합니다. 큰 프로젝트를 진행하는 경우에는 Visual Studio에서 제공하는 개발환..

OpenCV와 XFeat를 사용하여 이미지 매칭을 테스트해볼 수 있도록 만든 pyQt5 프로그램입니다. 2025. 1. 2 최초작성XFeat 사용방법은 아래 포스트를 참고하세요. 아래 포스트대로 진행 후, modules 폴더를 가져와서 사용하면 됩니다. SIFT와 XFeat 사용해보기https://webnautes.tistory.com/2360 실행 결과입니다. 항상 좋은 결과를 보여주지는 않습니다. 실행하려면 OpenCV와 pyQt5의 충돌로 다음 문제를 해결해야 합니다. 아래 포스트를 참고하세요 qt.qpa.plugin: Could not load the Qt platform plugin "xcb" 에러 해결 방법https://webnautes.tistory.com/2303 사용한 전체 코드입니..

XFeat를 사용하여 월리를 찾아봤습니다. 2024. 12. 17 최초작성여러번 시행 착오 끝에 월리를 찾기는 했지만 만족스럽지는 않네요. xfeat.match_xfeat 함수의 top_k를 조정한 끝에 월리를 찾았기 때문입니다.또 맘에 안드는건 원본 이미지에서 월리를 잘라서 사용해야 했어요. 다른 장면이라도 잘찾아주는 Yolo가 정말 뛰어나구나 새삼 느꼈답니다. XFeat 설치 방법은 다음 포스트를 참고하세요 SIFT와 XFeat 사용해보기https://webnautes.tistory.com/2360테스트에 사용한 코드입니다. import numpy as npimport osimport torchimport tqdmimport cv2import matplotlib.pyplot as pltimport ..

두 장의 이미지의 투명도를 조정하여 두 개의 이미지가 겹쳐보이게 하는 블렌딩(Blending)을 구현한 OpenCV Python 예제 코드를 테스트하기 쉽도록 pyQt5로 작성된 UI를 사용합니다. 2024. 8. 28 최초작성 OpenCV Python만을 사용하여 구현한 코드는 아래 포스트에서 구현되어 있습니다. OpenCV Python 강좌 - 두 개의 이미지 더하기, 블렌딩https://webnautes.tistory.com/1245pyQt5를 사용하여 이미지의 투명도를 조정하게 만든 예제를 실행시키면 슬라이더를 사용하여 두 장의 이미지의 투명도를 조정할 수 있습니다.실행하면 두 장의 이미지가 겹쳐서 보이게 됩니다. 2장의 이미지의 투명도가 각각 50%이기 때문입니다. 어느 한쪽으로 이동하면 ..

OpenCV를 빌드하여 Raspberry Pi 5에 설치하는 방법을 다룹니다. Raspberry Pi 4에서 진행했던 대로 Raspberry Pi 5에서 그대로 진행해서 문제없었습니다. 이 문서대로하면 Raspberry Pi 4 에서도 동일하게 동작합니다. 1. 기존 OpenCV 버전 제거2. 기존 설치된 패키지 업그레이드3. OpenCV 컴파일 전 필요한 패키지 설치4. OpenCV 설정과 컴파일 및 설치5. OpenCV 설치 결과 확인 5.1. C/C++ 5.2. Python2016. 5. 4 최초작성~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2021. 2. 19 Raspberry Pi 4에서 진행2021. 11. 22 최종작성 - 2021년 10..

Ubuntu 22.04에 CUDA를 사용하도록 OpenCV 설치하는 방법을 다룹니다. 2022. 12. 2 최초작성2024. 1. 14 Python을 사용하여 OpenCV에서 CUDA 사용가능한지 확인CUDA 설치다음 포스트를 참고하여 CUDA 설치를 진행하세요. Ubuntu 22.04에 CUDA 11.8 설치하는 방법https://webnautes.tistory.com/1844OpenCV 설치1. 기존에 설치된 패키지를 업그레이드합니다. $ sudo apt-get update$ sudo apt-get upgrade2. 추가로 필요한 패키지들을 설치합니다. $ sudo apt-get install build-essential cmake$ sudo apt-get install pkg-config$ s..