Matplotlib의 컬러맵을 화면에 출력하는 OpenCV 예제입니다. 2024. 4. 18 최초작성 실행 결과입니다. Matploilib의 'plasma' 컬러맵을 보여줍니다. 사용한 전체 코드입니다. import numpy as np import cv2 import matplotlib cmap = matplotlib.colormaps['plasma'] array = np.linspace(0, 1, 256) # array 값 0 ~ 255에 대응하는 컬러를 가져옵니다. plasma_colors = cmap(array) # shape=(256, 4) plasma_colors = plasma_colors[:, :3] # 알파 채널 제거 shape=(256, 3) # 이미지의 색상 순서를 RGB에서 BGR로..
k-means 클러스터링 알고리즘을 구현한 kmeans 함수 예제입니다. 2024. 4. 10 최초시간 kmeans 함수는 k-means 클러스터링 알고리즘을 구현한 것으로, 주어진 데이터를 k개의 클러스터로 그룹화하는 데 사용됩니다. 이 함수는 데이터 포인트 사이의 유클리드 거리를 기반으로 각 데이터 포인트를 가장 가까운 클러스터 중심에 할당합니다. 클러스터의 수 k는 사용자가 지정해야 하며, 알고리즘은 클러스터의 중심을 반복적으로 업데이트하면서 데이터 포인트를 그룹화합니다. import cv2 import numpy as np def cluster_colors(img, k): h, w, _ = img.shape # 이미지를 (픽셀 수, 채널 수) 형태로 변환합니다. img_flatten = img.r..
inpaint 함수는 이미지에서 손상된 부분을 제거하고 그 자리를 자연스럽게 채워 넣어줍니다. 2024. 4. 4 최초작성 왼쪽 이미지가 원본 깊이 이미지입니다. 검은색으로 된 부분이 손상된 부분입니다. 오른쪽은 inpaint 함수를 사용하여 손상된 검은색 부분을 주변 픽셀로 메꾸어 자연스럽게 바꾼 결과입니다. 전체 코드입니다. import cv2 # 이미지를 로드합니다. img_color = cv2.imread('fall-01-cam0-d-001.png') # 그레이 스케일 이미지로 변환합니다. img_gray = cv2.cvtColor(img_color, cv2.COLOR_BGR2GRAY) # 검은색 영역을 마스크로 사용하기 위해 임계값을 설정합니다. # cv2.THRESH_BINARY_INV를 사용..
Apple Silicon Macbook에서 Visual Studio Code와 연동하여 OpenCV C++ / Python 개발 환경을 만드는 과정을 설명합니다. 2021. 12. 04 최초작성 2022. 11. 13 최종수정 Python용 OpenCV만 필요한 경우 다음처럼 Python용 OpenCV 패키지를 설치하여 사용할 수 있습니다. pip install opencv-contrib-python 포스트는 C++용과 Python용을 동시에 설치하는 경우이고 환경 변화에 따라 설치 방법이 변경될 수 있습니다. 1. 다음 포스트에 나온대로 Xcode를 설치합니다. Apple Silicon Macbook에 Xcode 설치하기 https://webnautes.tistory.com/2024 2. Command..
OpenCV와 GStreamer를 사용하여 RTSP Streaming을 C++ 코드로 만들어보고 간단히 테스트도 진행해봅니다. 2023. 12. 26 최초작성 2024. 1. 14 추가로 필요한 패키지 0. 다음 포스트를 참고하여 Ubuntu에 OpenCV를 설치합니다. Ubuntu 22.04에 CUDA 사용하는 OpenCV 설치하는 방법 https://webnautes.tistory.com/1876 추가로 필요한 패키지를 다음 포스트를 보고 설치해야 합니다. 패키지 설치후, 테스트 삼아 진행해보는 것도 좋을 듯합니다. Ubuntu에 GStreamer 설치하고 웹캠 영상 가져와보기 https://webnautes.tistory.com/2067 1. 추가로 필요한 패키지를 설치합니다. $ sudo apt ..
동영상의 배경을 제거하고 움직이는 물체를 검출하는 데 사용할 수 있는 Background Subtraction 예제 입니다. OpenCV에서 제공하는 Background Subtraction 알고리즘 중 하나인 createBackgroundSubtractorKNN를 사용하여 테스트를 진행해봤습니다. 2018. 9. 22 최초작성 2023. 12. 10 최종작성 - 박스를 하나로 묶어주는 코드 추가 OpenCV Python - Background Subtraction 테스트 영상 https://youtu.be/_nUCgbOCUPw import cv2 import numpy as np import os, time def get_points(box): x, y, w, h = box return [(x, y),..
Windows에 설치된 Rust에서 OpenCV를 설치, 사용하는 방법을 다룹니다. 2023. 12. 9 최초작성 0. 다음 영상 또는 포스트를 참고하여 Visual Studio Code에서 Rust 개발하는 환경을 만드세요. Windows에 Visual Studio Code + Rust 개발 환경 만들기 https://webnautes.tistory.com/2110 https://youtu.be/e_xamRk7m98?feature=shared 1.이제 Chocolatey를 설치합니다. 윈도우키를 누르고 powershell를 입력하여 검색된 Windows PowerShell에서 관리자로 실행을 클릭합니다. 다음 주소에 접속하여 빨간색 사각형으로 표시한 부분을 클릭하여 명령어를 복사합니다. https://..
ndk-build를 사용하여 안드로이드 프로젝트에 OpenCV 라이브러리를 추가하는 과정 및 OpenCV를 사용하여 카메라 영상을 그레이스케일로 변경하는 방법을 설명합니다. 현재 Android Studio에서 공식으로 지원하는 방식은 CMake를 사용하는 방식입니다. Android NDK + CMake + OpenCV 카메라 예제 및 프로젝트 생성방법 https://webnautes.tistory.com/1992 2016. 05. 07 최초작성 ~~~~~~~~~~~~~~~ 2020. 02. 16 OpenCV 4.2.0, Android 10.0 2020. 06. 27 Android Studio 4.0, OpenCV 4.3.0, Android 10.0 2021 04. 08 Android Studio 4.1...
Visual Studio를 을 위해 미리 빌드되어 배포되는 OpenCV패키지를 Visual Studio에서 사용하기 위해 필요한 과정을 설명합니다. Visual Studio 2022에서 진행했지만 다른 버전 의 Visual Studio 에서도 거의 동일하게 설정하면 됩니다. OpenCV 버전 차이로 달라지는 점은 경로 차이입니다. 프로젝트 생성시 Visual Studio 2019는 Visual Studio 2022와 거의 동일하고 Visual Studio 2017은 진행 방법에 차이가 있는 것이 포함되어 있습니다. 2017. 4. 25 최초 작성 2019. 9. 16 2020. 8. 17 Visual Studio 2019 추가 2021. 3. 24 Visual Studio에서 C++ 프로젝트 추가하기 위..
OpenCV.jl을 사용하여 Julia에서 OpenCV로 webcam 영상을 보는 방법을 다루고 있습니다. 2023. 11. 27 최초작성 다음 포스트를 참고하여 Julia 개발 환경을 구성하세요. Visual Studio Code 사용한 Julia 개발 환경만들기(Windows / Ubuntu / Macbook M1) https://webnautes.tistory.com/2216 OpenCV.jl 코드 실행하는 방법은 다음 포스트를 참고하세요. OpenCV.jl - Julia 에서 OpenCV 사용하기 https://webnautes.tistory.com/2222 웹캠에서 영상을 가져와 화면에 보여주는 코드입니다. 실행하면 영상을 보여주는 윈도우가 보이고 ESC키를 누르면 윈도우가 종료됩니다. usin..