칼만필터를 사용하여 추적시 파란원의 자잘한 움직임은 무시하고 큰 동선만 추적하도록 해봤습니다.2024. 3. 3. 최초작성 코드는 기존에 구현했던 칼만 필터로 웹캠 영상 속 파란원을 추적하는 OpenCV Python 에제를 수정해서 사용했습니다. 칼만 필터로 웹캠 영상 속 파란원을 추적하는 OpenCV Python 예제https://webnautes.tistory.com/2436 https://youtu.be/KJK6AIQ1jQQ 전체 코드입니다. 기존 코드에서 상태 전이행렬, 프로세스 노이즈 행렬, 측정 노이즈 행렬만 수정했습니다. # 상태 전이 행렬 - 관성을 더 크게 (속도 변화를 더 천천히) self.kf.transitionMatrix = np.array([[1, 0, ..
칼만 필터로 웹캠 영상 속 파란원을 추적하는 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], ..

딥러닝 모델을 사용하여 이미지를 그룹별로 묶어서 보여주는 PyQt5 예제 코드입니다.최초작성 2025. 2. 21다음 포스트에 나온대로 conda 환경을 구성후 하는게 좋습니다. Visual Studio Code와 Miniconda를 사용한 Python 개발 환경 만들기( Windows, Ubuntu, WSL2) https://webnautes.tistory.com/1842 이제 테스트하기 위한 환경을 구성합니다.conda create -n test python=3.10conda activate testcuda 가능하도록 파이토치를 설치합니다. pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl..

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..
YoLo를 사용하여 영상내와 영상 바깥에 사람이 있었던 총시간을 각각 출력하는 OpenCV Python 예제입니다.한사람만 보이는 경우를 가정하고 있습니다. 최초작성 2025. 1. 28https://youtu.be/4geryGplg24 import cv2from ultralytics import YOLOfrom datetime import datetime, timedelta# 사용할 욜로 모델을 지정합니다.model = YOLO('yolov8n.pt')# 카메라를 지정합니다.cap = cv2.VideoCapture(0)start_time = None# 변수를 초기화합니다.total_sitting_time = timedelta()total_standing_time = timedelta()last_st..

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%이기 때문입니다. 어느 한쪽으로 이동하면 ..