OpenCV

    [OpenCV with Python] 특징점 검출과 매칭 : 코너 검출

    [OpenCV with Python] 특징점 검출과 매칭 : 코너 검출

    코너 검출 코너는 영상안에서 그림이 나타날 때 객체가 뾰족하게 튀어나온 부분이다. 코너는 변별력이 높은 편이며, 영상의 이동, 회전 변환에 강하다. 이와 반대로 평탄한 영역(flat)과 에지(edge) 영역은 고유한 위치를 찾기 어렵다. A : 평탄 B : 엣지 C : 코너 평탄한 영역은 하늘에서 추출한 부분 영상으로, 이 부분 영상이 원본 영상에서 어느 부분인지 명확하지 않다. 모호한 부분이 많아 변별력이 떨어지며, 영상의 특징을 설명하는 데 적합하지 않다. 에지는 바다와 하늘이 만나는 부분으로, 원본 영상에서 x좌표가 명확하게 어느 부분인지 정확하게 찾기가 어렵다. 고유성과 변별성이 떨어진다. 코너는 로컬한 특징을 갖고있어서 변별성이 있고 고유성이 있다. 코너점을 찾아서 점들의 특징을 이용하여 두 개..

    [OpenCV with Python] 영상 분할과 객체 검출 : HOG 알고리즘 - 보행자 검출

    [OpenCV with Python] 영상 분할과 객체 검출 : HOG 알고리즘 - 보행자 검출

    HOG(Histogram of Oriented Gradients) 란? 영상의 지역적 그래디언트 방향 정보를 특징 벡터로 사용 2005년 CVPR학회에서 보행자 검출 방법으로 소개되어 널리 사용되기 시작함 이후 다양한 객체 인식에서 활용됨 HOG 알고리즘 전체 영상에서 부분 영상을 추출해서 부분 영상의 특징을 추출하여 전신을 판단하는 알고리즘이다. 작동 순서 임의의 크기의 사각형을 정의해서 부분 영상을 추출 추출한 부분 영상의 크기를 정규화 (64X128) 64X128 영상의 그래디언트를 계산하여 방향 성분과 크기 성분을 파악 64X128 영상을 8X8 크기의 셀(cell)로 분할 각 셀마다 방향과 크기 성분을 이용하여 방향 히스토그램을 계산 각각의 셀에서 방향 성분을 9개로 구분하여 9가지 방향에 대한..

    [OpenCV with Python] 영상 분할과 객체 검출 : 템플릿 매칭2 - 인쇄체 숫자 인식

    [OpenCV with Python] 영상 분할과 객체 검출 : 템플릿 매칭2 - 인쇄체 숫자 인식

    인식(Recognition) 이란? Classifying a detected object into different categories 여러 개의 클래스 중 가장 유사한 클래스 선택 숫자 템플릿 영상 생성 Consolas 폰트로 쓰여진 숫자 영상을 digit0.bmp~digit9.bmp로 저장 숫자 영상의 크기는 100 x 150 크기로 정규화 인쇄체 숫자 인식 방법 💬 인쇄체 숫자 인식 예제 import sys import numpy as np import cv2 def load_digits(): img_digits = [] for i in range(10): filename = './digits/digit{}.bmp'.format(i) img_digits.append(cv2.imread(filenam..

    [OpenCV with Python] 영상 분할과 객체 검출 : 템플릿 매칭 1

    [OpenCV with Python] 영상 분할과 객체 검출 : 템플릿 매칭 1

    템플릿 매칭(Template matching)이란? 입력 영상에서(작은크기의) 템플릿 영상과 일치하는 부분을 찾는 기법 템플릿 : 찾을 대상이 되는 작은 영상. 패치(patch). 템플릿 매칭은 노이즈와 밝기 변화에 강하다. CCOFF 연산을 이용하여 밝기 보정을 해서 매칭하기 때문이다. 가우시안 노이즈의 경우에 correlation 방법이 잘 동작한다. 다만 기본적으로 같은 위치에 있는 픽셀 값들을 곱하고 더해서 유사도를 판단하는 방식이기 때문에 회전, 크기변환이 심하게 일어난 경우 찾고자하는 템플릿 영상의 위치를 제대로 찾을 수 없다. 다른 방법으로 키포인트 로컬 피쳐 매칭, 로컬 피쳐 포인트 매칭을 생각해볼 수 있다. 템플릿 동작 방식 필터링에서 동작하던 방식이랑 유사하다. 템플릿 영상을 입력 영상..