python opencv

· 영상처리
이번 포스팅은 OpenCV에서 Meanshift를 이용한 Object Detection에 대해 알아보겠습니다. 포스팅 관련 내용은 아래에서 출처를 얻어 사용하였습니다. https://docs.opencv.org/4.5.2/d7/d00/tutorial_meanshift.html GOAL - 물체를 추적하는 Meanshift 알고리즘에 대해 공부할 것입니다. Meanshift - Meanshift는 말 그대로 Mean (평균) Shift (이동) 알고리즘입니다. Meanshift는 매우 직관적으로 이해할 수 있었는데 아래 그림처럼 어떤 데이터 포인트 셋이 있을 때 원 모양의 윈도를 그리고 가장 많은 데이터를 가지고 있는 원의 영역으로 이동합니다. - 그림을 보시면 초기 윈도우 창은 C1이며 중심은 C1_o입..
· 영상처리
이번 포스팅은 OpenCV에서 Haar Cascades을 이용한 얼굴 검출에 대해 알아보겠습니다. 포스팅 관련 내용은 아래에서 출처를 얻어 사용하였습니다. https://docs.opencv.org/4.5.0/db/d28/tutorial_cascade_classifier.html GOAL - Haar Cascade로 object detection을 어떻게 하는지 알아본다. - Haar Feature-based Cascade Classifiers를 사용하여 기본적인 얼굴 감지 및 눈 감지를 해본다. - OpenCV에서 Haar Cascade로 어떻게 detection 하는지 알아본다. Theory - Haar feature-based cascade classifiers (Haar feature을 기반으로 ..
· 영상처리
이번 포스팅은 SVM 알고리즘에 대해 알아보고 OpenCV에서 어떻게 사용하는지 알아보겠습니다. 포스팅 관련 내용은 아래에서 출처를 얻어 사용하였습니다. https://docs.opencv.org/4.4.0/d1/d73/tutorial_introduction_to_svm.html GOAL - SVM이 무엇인지? - OpenCV에서 SVM의 사용 방법 Theory - What is SVM? - SVM(Support Vector Machine)은 레이블이 지정된 훈련 데이터가 주어지면 최적으로 데이터들을 분류하게 만드는 초평면(hyperplane) 출력 알고리즘입니다. - 빨간색과 파란색 두 클래스를 선형으로 분리 가능한 직선을 구하는 문제가 있을 때 위 그림처럼 다양한 선이 있음을 알 수 있습니다. 저 선..
· 영상처리
이번 포스팅은 Watershed 알고리즘을 이용하여 Image segmentation을 하는 방법을 알아보고 OpenCV에서 어떻게 사용하는지 알아보겠습니다. 포스팅 관련 내용은 아래에서 출처를 얻어 사용하였습니다. https://docs.opencv.org/4.0.1/d3/db4/tutorial_py_watershed.html Goal - Watershed 알고리즘을 이용한 이미지 구분 - cv2.watershed() 사용 Theory - 밑의 예시처럼 grayscale 이미지를 픽셀 값 ( 0 ~ 255 )에 따른 분포도를 그려보면 값이 높은 부분과 낮은 부분으로 되어있습니다. - 여기서 값이 높은 부분을 봉우리로 값이 낮은 부분을 계곡이라 부르기로 하고 이렇게 만들어진 봉우리와 계곡에 물을 붓는다고..
· 영상처리
이번 포스팅은 Image Thresholding에 대해 알아보고 OpenCV에서 사용하는 threshold에 대해 알아보겠습니다. 포스팅 관련 내용은 아래에서 출처를 얻어 사용하였습니다. https://docs.opencv.org/4.5.2/d7/d4d/tutorial_py_thresholding.html Thresholding(스레시홀딩) - thresholding은 binary image(바이너리 이미지)를 만드는 대표적인 방법입니다. 바이너리 이미지는 검은색과 흰색만으로 나타내는 이미지이며 스레시홀딩이란 임계점을 기준으로 검은색(0)과 흰색(255), 두 가지로 나누는 것을 의미합니다. 바이너리 이미지를 만드는 이유는 1) 배경과 객체 구분 2) 관심 영역과 비관심 영역의 구분 mask도 바이너리 ..
· 영상처리
이번 포스팅은 k-means 알고리즘에 대해 알아보고 OpenCV에서 사용하는 k-means Clustering에 대해 알아보겠습니다. 포스팅 관련 내용은 아래에서 출처를 얻어 사용하였습니다. https://docs.opencv.org/4.5.2/d1/d5c/tutorial_py_kmeans_opencv.html k-평균(k-means) 알고리즘 - k-means 알고리즘은 대표적인 Clustering 알고리즘 중 하나입니다. 1) 각 군집은 하나의 중심(centroid)을 가집니다. 2) 각 개체는 가장 가까운 중심에 할당됩니다. 3) 같은 중심에 할당된 개체들이 모여 하나의 군집을 형성하는 알고리즘입니다. - k(군집 수)를 정해야 알고리즘을 실행할 수 있으며 이는 k가 하이퍼파라미터라는 의미입니다...
· 영상처리
이번 포스팅은 객체 추적 중 하나의 방법인 배경 제거(Background Subtraction)에 대해 알아보겠습니다. 포스팅 관련 내용은 아래에서 출처를 얻어 사용하였습니다. https://docs.opencv.org/3.4/d1/dc5/tutorial_background_subtraction.html Background Subtraction (배경 제거) 배경 제거는 영상에서 객체가 있는 배경에서 객체가 없는 배경을 빼서 출력해주는 것을 말합니다. 이는 객체를 추적할 때 객체가 무엇인지 어디에 있는지 파악하게 해주는 방법입니다. 아래의 그림을 보면 이해가 쉬울 거예요! 위 그림을 보시면 객체(배)가 있는 사진에서 객체(배)가 없는 사진을 빼서 결국 객체만 얻는 것을 볼 수 있습니다. Backgroun..
· 영상처리
이번 포스팅은 https://docs.opencv.org/4.5.2/df/d3d/tutorial_py_inpainting.html 을 보고 공부한 것을 정리 했습니다. 1. Inpaint 란? - 오래된 사진에서 작은 노이즈를 제거하는 방법입니다. - OpenCV를 통해 Inpaint 함수를 알아보고 구현해보겠습니다. Inpaint 함수 - python-opencv 에서 inpaint 함수를 사용하기 위한 원형은 - cv2.inpaint(src, inpaintMask, inpaintRadius, flags[, dst]) 입니다. - inpaintMask : 8비트 1채널 이미지 ( 흑백 이미지 ) - inpaintRadius : 알고리즘에 의해 포인트의 circular neighborhood 의 Radi..
우준세
'python opencv' 태그의 글 목록