[카테고리:] <span>OpenCV</span>

[카테고리:] OpenCV

[OpenCV] FAST 코너 검출

이번 글에서는 FAST 코너 검출에 대해 알아보겠습니다. 이전 글에서 배운 해리스 코너 검출 이후로 몇몇 코너 검출 방법이 생겨났습니다. 하지만 이러한 검출 방법은 연산 속도가 느리다는 단점이 있습니다. FAST 코너 검출은 이러한 코너 검출보다 빠른 …

[OpenCV] 해리스(Harris) 코너 검출

이번 글에서는 코너 검출에 대한 개념과 대해 알아보겠습니다. 특징 – feature 우선 영상에서 특징에 대해 알아보겠습니다. 특징(feature)은 영상에서 검출할 수 있는 유용한 정보를 말합니다. 유용한 정보라는 것은 예를들어 코너, 히스토그램, 에지, 직선 등등이 있습니다. 코너의 특징은 …

[OpenCV] HOG 알고리즘 – 보행자 검출

이번 글에서는 HOG(Histograms of Oriented Gradients) 알고리즘에 대해 알아보겠습니다. HOG 알고리즘은 2005년에 N. Dalal과 B. Triggs가 발표한 알고리즘 입니다. HOG는 그래디언트 방향 히스토그램을 의미합니다. HOG 알고리즘은 다음 작동 방식을 가집니다. 1. 영상에서 64 X 128 크기 영상을 추출하여 계산합니다. …

[OpenCV] QR Code generator로 QR 코드 만들고 Mat으로 변환하기

이번 글에서는 QR코드를 만드는 방법에 대해 알아보겠습니다. QR코드 생성과 관련해서는 여러 라이브러리가 있지만 이 글에서는 QR Code generator를 사용하겠습니다.여기에서 파일을 다운 받아 줍니다 cpp 폴더에 파일명이 qrcodegen인 hpp와 cpp파일을 프로젝트에 복사해 추가해줍니다. QR Code generator를 사용하기 위해 코드에 qrcodegen.hpp을 include 해줍니다. 라이브러리에서 제공해주는 QR Code 클래스 명칭은 QrCode 입니다. QrCode 클래스의 encodeText 멤버 함수를 사용하면 쉽게 QR코드를 생성할 수 있습니다. 첫번째 …

[OpenCV] QR Code 인식하기

이번 글에서는 OpenCV를 통하여 QR 코드를 인식하는 법에 대해 알아보겠습니다. QR코드는 아래와 같은 예시 이미지를 말하며, DENSO WAVE가 개발한 고속 판독용 매트릭스 2차원 코드입니다. 좌측, 우측 상단, 좌측 하단의 정사각형 패턴으로 QR 코드 영상이라고 판단 …

[OpenCV] 캐스케이드 분류기, 얼굴 검출

이번 글에서는 얼굴 검출에 대해 알아보겠습니다. OpenCV에서는 얼굴 검출에 대한 몇가지 방법을 제공하며, 이번 글에서는 캐스케이드 분류기(cascade classifier)에 대해 알아보겠습니다. 우선, 캐스케이드 분류기에 대해 알아 보기전에 비올라-존스 알고리즘에 대해 알아보겠습니다. 비올라-존스 알고리즘 비올라-존스 알고리즘은 얼굴 검출에 사용되는 …

[OpenCV] 템플릿 매칭 – matchTemplate

이번 글에서는 템플릿 매칭(Template Maching)에 대해 알아보겠습니다. 템플릿 매칭이란 어떠한 영상에서 템플릿 영상과 일치하는 영상을 찾는 것을 말합니다. 템플릿 영상은 찾을 대상이 되는 작은 크기의 영상을 의미합니다. 예를들어 아래와 같이 레나 영상에서 레나 얼굴을 찾고 싶으면, 레나의 …

[OpenCV] 2. 외곽선 응용 – approxPolyDP, 외곽선 또는 곡선 근사화

이번 글에서는 외곽선 검출 응용인 외곽선 근사화에 대해 알아보겠습니다. 더글라스 포이커(Douglas-Peucker) 알고리즘 우선 외곽선 또는 곡선을 근사화하는 더글라스-포이커 알고리즘에 대해 알아보겠습니다. 더글라스-포이커 알고리즘은 아래 순서를 따릅니다. 위 이미지는 더글라스-포이커 알고리즘을 설명하는 샘플 움짤입니다. approxPolyDP OpenCV에서는 외곽선 또는 …

[OpenCV] 1. 외곽선 응용

이전 글에서 findContours 함수를 이용하여 외곽선을 검출하였습니다. 이렇게 검출한 외곽선 정보에서 객체의 위치, 크기 등의 정보를 추출하는 방법에 대해서 알아보겠습니다. 객체를 감싸는 사각형, 원 구하는 함수 함수부터 빠르게 알아보겠습니다. 외곽선 정보에서 바운딩 박스를 구하기 위해서 boundingRect  함수를 사용합니다. …

[OpenCV] 외곽선 검출 – findContours

이번 글에서는 객체의 외곽선(contours)을 검출하는 방법에 대해 알아보겠습니다. 외곽선 검출은 레이블링과 더불어 영상에서 객체의 정보를 검출하는 방법 중 하나입니다. 개념 영상에서 객체의 외곽을 검출하는 방법에 대해 알아보겠습니다.외곽선 검출은 이진화된 영상에서 검출이 이루어지며 배경 영역과 닿아 있는 픽셀을 …