영상처리

· 영상처리
이번 포스팅은 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..
· 영상처리
OpenCV 의 허프 변환에 대해 공부한 것을 정리하여 이번 포스팅을 작성하였습니다. 허프 변환은 이미지에서 모양을 찾는 유명한 방법입니다. 그중에서 OpenCV에서 사용하는 선, 확률적, 원 변환에 대해 정리해보았습니다. 자세한 이론은 허프 변환 을 보고 공부했습니다. 허프 변환 — gramman 0.1 documentation 확율 허프 변환 허프변환은 모든 점에 대해서 계산을 하기 때문에 시간이 많이 소요됩니다. 확율 허프변환(Probabilistic Hough Transform)은 이전 허프변환을 최적화 한 것 입니다. 모든 점을 대상으로 opencv-python.readthedocs.io 허프 선 변환 이미지의 수많은 픽셀 중 직선의 관계를 가진 것만 처리하는 것이 선 변환입니다. OpenCV에..
· 영상처리
이번 포스팅은 책 '파이썬으로 만드는 OpenCV 프로젝트'를 보고 공부한 내용을 바탕으로 만들었습니다. 혹시나 틀린 부분이나 수정해야 할 부분이 있다면 댓글 남겨주세요! 컨투어(contour)는 우리말로 윤곽선, 외곽선 등으로 말합니다. 영상처리에서는 같은 픽셀을 갖는 지점 즉 같은 색상이나 밝기의 연속된 점을 말합니다. 컨투어(contour) 연산 OpenCV에서 contours, hierarchy = cv2. findContours(src, mode, method)로 지원합니다. Python 3.x 이상 버전에서는 인자를 2개로 받으므로 유의 바랍니다. cv2.findContours()의 src 인자에 바이너리 이미지를 넣으면 해당 좌표를 가지는 Numpy 배열을 리스트로 반환 mode는 컨투어를 ..
· 영상처리
이번 포스팅은 책 '파이썬으로 만드는 OpenCV 프로젝트'를 보고 공부한 내용을 바탕으로 만들었습니다. 혹시나 틀린 부분이나 수정해야 할 부분이 있다면 댓글 남겨주세요! 모폴로지(morphology)는 노이즈, 구멍 제거, 경계 붙이기 등의 연산에 효과적입니다. 대표적인 연산은 침식, 팽창이며 둘을 결합한 열림과 닫힘 연산이 있습니다. 침식(erosion) 연산 침식 연산은 1로 채워진 커널을 입력 영상에 적용하여 커널 안에 전부 1로 들어가지 않으면 0으로 반환합니다. OpenCV 에서 커널 생성을 위해 함수를 제공하며 cv2.getStructuringElment()이며 MORPH_RECT는 사격형으로 커널을 만든다는 의미이며 (6,6)은 커널의 크기를 의미합니다. 침식 연산을 위한 함수는 cv2.e..
· 영상처리
이번 포스팅은 책 '파이썬으로 만드는 OpenCV 프로젝트'를 보고 공부한 내용을 바탕으로 만들었습니다. 혹시나 틀린 부분이나 수정해야 할 부분이 있다면 댓글 남겨주세요! 영상 처리는 새로운 영상을 얻기 위해 기존 영상의 픽셀 값에 연산을 하여 새로운 픽셀 값을 얻는 작업입니다. 이 책에서 기존 픽셀 값과 주변 픽셀들의 값을 활용하여 얻는 방법인 공간 영역 필터를 사용하여 새로운 픽셀 값을 얻는 방법을 알려줍니다. 경계(edge) 검출 영상에서 경계(edge)를 검출하기 위해서는 픽셀 값이 갑자기 변화하는 곳을 찾아야 합니다. 이는 연속된 픽셀 값을 미분한다면 알 수 있습니다. 픽셀은 연속 공간이 아니므로 이산화 하여 근사 값으로 구해야 합니다. 미분 근사값은 붙어 있는 픽셀 값을 빼면 됩니다. 이것을 ..
우준세
'영상처리' 카테고리의 글 목록 (2 Page)