[안드로이드로 배우는 OpenCV] 레이블링(Labeling)

레이블링(Labeling) 레이블링이란 일반적으로 이진화 된 이미지에서 연속된 픽셀에  대해 고유한 번호를 매기는 작업을 의미 한다. 이진화에 대한 내용은 이전 포스팅에서 확인할 수 있다. 이미지의 이진화 자동 이진화 임계값 결정(Otsu) 지역 이진화 적응형 이진화 레이블링을 수행하면 객체 단위로 이미지를 분석할 수 있게 된다. 객체의 위치, 크기, ROI 추출, 모양 분석등이 가능해진다. 더보기…

[안드로이드로 배우는 OpenCV] 적응형 이진화(Adaptive Threshold)

적응형 이진화 지난 포스팅에서 Otsu 및 지역 이진화를 적용 했을 때 다음과 같은 결과물을 얻는 것을 확인했다. Otsu나 지역 이진화를 통한 방법은 모든 이미지에서, 특히 이미지가 서로 다른영역에서 다른 밝기값을 가질 때 잘 수행되지 않는다. 이러한 경우 적응형 이진화를 진행할 수 있다. 적응형 이진화란 이미지의 각 픽셀에 대해 개별적으로 임계값을 더보기…

글쓴이 Charlezz,

[안드로이드로 배우는 OpenCV] 지역 이진화

지역 이진화 지난 포스팅에서 Otsu 함수를 통해 임계값을 자동으로 결정하고 이미지를 이진화하는 방법에 대해서 알아보았다. 단순히 Otsu를 적용하는 것으로 객체와 배경을 분리할 수 있으면 좋겠지만 현실은 그렇지 않다. 다음의 쌀알이 포함된 이미지를 살펴보자. 쌀알 이미지에 Otsu 함수를 적용하면 다음과 같은 이진화 된 이미지를 얻을 수 있다.   큰 문제는 없어보인다. 더보기…

[안드로이드로 배우는 OpenCV] 이미지의 이진화 – Otsu(자동 임계값 설정)

이진화 임계값 결정 지난 포스팅에서 임계값을 통해 이미지를 이진화 하는 방법에 대해서 알아보았다. 이진화 된 이미지를 얻을 때 가장 중요한 점은 바로 임계값을 어떻게 또는 무엇으로 결정하냐는 것이다. 임계값을 조금씩 변경하면서 사람의 눈으로 확인하여 가장 좋은 결과값을 얻는 것도 하나의 방법이지만 이러한 반복적인 작업 없이도 자동으로 적절한 임계값을 한번에 찾을 더보기…

[안드로이드로 배우는 OpenCV] 이미지의 이진화

이미지의 이진화(Binarization)란? 이미지의 픽셀 값을 0 또는 255로 변환하는 연산을 말한다. 변환된 이진 이미지는 다음과 같은 목적을 수행하는데 적합하다. 배경(Background)과 객체(Object) 구분하기 관심 영역과 비관심 영역 가르기 이미지의 이진화는 일반적으로 회색조(grayscale) 이미지로 하며, 픽셀의 값을 결정하기 위해 임계값(threshold)을 정하게 된다.  Threshold 임계값(T)를 통해 이미지(I)의 픽셀값을 0 또는 255로 결정할텐데 이를 더보기…

글쓴이 Charlezz,

[안드로이드로 배우는 OpenCV] 허프 변환 – 원 검출 하기

허프 원 변환(Hough Circle Transform;CHT) 지난 포스팅에서 직선을 검출하는 허프 선 변환에 대해서 알아보았다. 이번 포스팅에서는 허프 변환을 통해 원을 검출하는 방법에 대해서 알아본다. 우선 우리가 알고 있는 원을 표현하는 표준 원 방정식은 다음과 같다. (x-a)2 + (y-b)2 = r2 r은 반지름(radius)을 의미하고, (a,b)은 원의 중심을 의미 한다. 이 방정식에서 원을 표현하기 더보기…

글쓴이 Charlezz,

[안드로이드로 배우는 OpenCV] 캐니 엣지 검출기(Canny Edge Detector)

Canny Edge Detector 캐니 엣지 검출기는 John Canny가 1986년에 논문에서 발표한 내용으로 라플라스 필터 방식을 상당히 개선했다.  J. Canny는 다음과 같은 3가지 조건을 충족하는 엣지 검출기를 만들고자 했다. Good detection – 엣지가 아닌 점을 엣지로 찾거나 또는 엣지인데 엣지로 찾지 못하는 확률을 최소화한다. Good localization – 실제 엣지의 중심부분을 검출한다. 더보기…

글쓴이 Charlezz,

[안드로이드로 배우는 OpenCV] 라플라시안 필터(Laplacian)

라플라스 연산자 라플라스 또는 라플라시안 연산자는 2차 미분 연산자의 일종으로, 기울기의 발산이다.  이전 포스팅에서 소벨 연산자에 대해 다룬적이 있다. 엣지 부근에서 픽셀의 값이 뛰는 것을 확인할 수 있었다. 만약에 여기에 2차 미분을 취하면 어떻게 될까? 2차미분은 말 그대로 1차 미분값을 다시 한번 미분하는 방법을 말하는데, 2차미분의 장점은 엣지의 중심부분을 찾을 더보기…

글쓴이 Charlezz,

[안드로이드로 배우는 OpenCV] 영상의 그래디언트(Gradient)와 엣지검출

Gradient 그래디언트란  x방향으로 미분과 y방향으로의 미분을 따로 계산하고 그걸 하나로 묶어서 벡터로 표현 한것을 말한다. 아래의 [그림1]은 원본이미지 및 원본이미지에 소벨필터를 x 및 y 방향으로 적용하고, 가시성을위해 delta값을 추가로 128 적용한 영상이다. 수학적 기호로 그래디언트를 표현할때는 역삼각형(▽)으로 표현한다. 위의 수식을 살펴보면 그래디언트 ▽f 는 x축과 y축으로 각각 편미분하여 fx와 fy의 더보기…

[안드로이드로 배우는 OpenCV] 이미지의 엣지 검출과 미분 (소벨 필터, 샤르 필터)

엣지(edge)와 미분 영상처리에서 엣지란 이미지에서 픽셀의 밝기가 급격하게 변하는 부분을 말한다. 일반적으로 배경과 객체 또는 객체와 객체의 경계를 의미 한다. 객체 경계부분의 픽셀값이 급격하게 변하는 것을 가정으로 하기 때문에 실제로 객체의 경계와 배경의 값이 크게 차이가 없다면 엣지를 구분하기 어렵다. 이미지를 (x,y)변수의 함수로 나타내고 (x,y) 좌표의 픽셀 값을 x로  나타낼 더보기…