[OpenCV] 특징점 검출과 매칭
·
OpenCV
코너코너의 특징평탄한 영역 & Edge 영역은 고유한 위치를 찾기 어려움따라서 변별력이 높고 영상의 이동, 회전 변환에 강인한 코너를 검출함다양한 코너 검출 방법해리스 코너 응답 함수 계산cv2.cornerHarris(src, blockSize, ksize, k, dst=None, borderType=None) -> dstsrc : 입력 단일 채널 8비트 또는 실수형 영상blockSize : 코너 응답 함수 계산에서 고려할 이웃 픽셀 크기. 보통 2~5 [3 정도면 무난하게 사용 가능]ksize : [미분을 위한] 소벨 연산자를 위한 커널 크기. 보통 3k : 해리스 코너 검출 상수 [보통 0.04~0.06]dst : 해리스 코너 응답 계수. src와 같은 크기의 행렬borderType : 가장자리 픽셀..
[OpenCV] 영상 분할과 객체 검출
·
OpenCV
그랩컷: Grabcut - Graph cut 기반 영역 분할 알고리즘영상의 픽셀을 그래프 정점으로 갖누하고, 픽셀들을 두 개의 그룹으로 나누는 최적의 컷을 찾는 방식참고 pagehttps://grabcut.weebly.com/background--algorithm.htmlhttps://www.cs.ru.ac.za/research/g02m1682/https://docs.opencv.org/3.4/d8/d83/tutorial_py_grabcut.html OpenCV: Interactive Foreground Extraction using GrabCut AlgorithmGoal In this chapter We will see GrabCut algorithm to extract foreground in ima..
[OpenCV] 이진 영상 처리
·
OpenCV
0과 1의 컴퓨터세계에서 이미지도 예외는 아니다. 픽셀 값을 0 (검정색), 255(흰색)으로 구분해서 객체를 인식할 수 있고, 영역을 설정할 수도 있다.예를 들어, 세포 이미지를 이진화 할 경우, 다음과 같은 영상이 출력된다.이 때, threshold 값을 설정해서 특정 범위로 값을 제한시킬 수도 있다.threshold 함수cv2.threshold(src, thresh, maxval, type, dst=None) -> retval, dstsrc : 입력 영상. 다채널, 8비트 또는 32비트 실수형thresh : 사용자 지정 임계값maxval : cv2.THRESHBINARY 또는 cv2.THRESH_BINARY_INV 사용. 보통 255로 지정한다.type : cv2.THRESH로 시작하는 플래그로, ..
[OpenCV] 영상의 특징 추출
·
OpenCV
이전까지는 그냥저냥 할만했는데 여기서부터 처음 들어보는 개념과 내용이 나온다. 함수에 인자도 많아지고, 개념 자체가 어려워졌기 때문에에지 검출과 미분에지 [Edge]: 영상에서 픽셀의 밝기 값이 급격하게 변하는 부분일반적으로 배경과 객체, 또는 객체와 객체의 경계를 의미한다.기본적인 에지 검출 방법: 영상을 [x,y] 변수의 함수로 간주했을 때, 이 함수의 1차 미분 값이 크게 나타나는 부분을 검출→ threshold T를 적당히 잡아서 그 부분보다 큰 부분을 edge라고 설정한다.Prewitt, Sobel, Scharr 필터가 있는데 보통은 Sobel 필터를 사용한다고 한다.영상의 미분과 소벨 필터소벨 필터를 이용한 미분 함수cv2.Sobel(src, ddepth, dx, dy, dst=None, ks..
[OpenCV] 기하학적 변환
·
OpenCV
영상의 이동 변환과 전단 변환이동 변환 [Translation transformation]: 가로 또는 세로 방향으로 영상을 특정 크기만큼 이동시키는 변환cv2.warpAffine(src, M, dsize, dst=None, flags=None, orderMode=None, borderValue=None) -> dstsrc : 입력 영상M : 2x3 어파인 변환 행렬 [실수형]dsize : 결과 영상 크기 [w,h] 튜플, [0,0]이면 src와 같은 크기로 설정dst : 출력 영상flags : 보간법, 기본값은 cv2.INTER_LINEARborderMode : 가장자리 픽셀 확장 방식. 기본값은 cv2.BORDER_CONSTANTborderValue : cv2.BORDER_CONSTANT일 때 사용할..
[OpenCV] 필터링
·
OpenCV
영상 매체에서 선정적이거나 부정적인 의미를 담고 있는 물체를 가릴 때 흔히 사용하는 모자이크에는 어떤 원리가 들어있을까?자세히 보면 알 수 있듯이 하나의 픽셀마다 각각 다른 색으로 보이는 것을 확인할 수 있다. 필터링도 유사한 의미를 갖고 있다.정의를 보면, 필터링이란 영상에서 필요한 정보만 통과시키고 원하지 않는 정보는 걸러내는 작업을 의미한다.여러가지 필터링 기법이 있고, 크게 두 가지로 나눌 수 있다.주파수 공간에서의 필터링 공간적 필터링영상의 픽셀 값을 직접 이용하는 필터링 방법: 대상 좌표의 픽셀 값과 주변 픽셀 값을 동시에 사용주로 마스크 연산을 이용한다: Mask=kernel=window=template마스크의 형태와 값에 따라 필터의 역할이 결정되므로 다음 4가지 작업이 중요하다.1) 영상..