[이펙티브 코틀린 요약] 안정성(Safety)에 대하여

이 책에서 코틀린을 사용하는 첫번째 이유로 안정성(Safety)을 꼽고 있다. 코틀린은 잠재적인 오류와 크래시를 줄이며, 사용자와 개발자 모두에게 좋은 비즈니스 가치를 제공한다라고 설명한다. 안전성은 기본적으로는 언어일뿐이고, 사실은 개발자가 이를 사용하여 어떻게 코드를 작성하느냐에 따라 안정성이 좌지우지 된다. 다음의 항목들을 참고하여 오류가 더보기…

[안드로이드로 배우는 OpenCV] Moments

Moments 모멘트(moments)는 한 점이나 축에 대한 분포를 나타낸다. 그렇기 때문에 OpenCV에서 모멘트는 이미지 픽셀 강도의 평균을 나타낸다. 즉, 모멘트란 영상의 형태를 표현하는 일련의 실수값이라고 볼 수 있다. 컴퓨터는 카메라 영상과 같은 실시간 이미지 처리시에 이미지의 픽셀 값들을 어떤 숫자로 변환한다. 더보기…

[안드로이드로 배우는 OpenCV] 그랩컷(GrabCut)

그랩컷(GrabCut) 그랩컷 알고리즘은 영국 캠브릿지 마이크로소프트 연구소의 Carsten Rother, Vladimir Kolmogorov 및 Andrew Blake가 만들었다. 그들의 논문인  “GrabCut”: interactive foreground extraction using iterated graph cuts 에서 확인할 수 있다. 이 알고리즘은 최소한의 상호 작용으로 전경(객체) 추출을 돕는다. 처음에 사용자가 전경 더보기…

[안드로이드로 배우는 OpenCV] 볼록 결함 찾기 (convexity defects)

Prerequisite : 윤곽선 길이 구하기, Convex hull 볼록 결함 찾기 지난 시간에 Convex hull에 대해서 알아보았다. 이 포스팅에서는 볼록 결함(convexity defect)를 찾는 방법에 대해서 알아본다. 볼록 결함이란 convex hull로 부터 오목하게 들어간 윤곽선 중 가장 멀리 떨어진 부분을 찾는 방법이라고 더보기…

[안드로이드로 배우는 OpenCV] Convex hull 구하기

Prerequisite : 윤곽선 길이 구하기 Convex hull Convex hull이란 2차원 평면상에 여러개의 점이 있을 때, 점들 중 일부를 이용하여 Convex(볼록)한 다각형이면서, 다각형 내부에 모든 점을 포함시키는 것을 의미한다. 아래의 이미지를 참조하여 주어진 정점에 대한 Convex hull 알고리즘의 결과를 확인하자. 현재 더보기…

[안드로이드로 배우는 OpenCV] Convex 여부 검사하기

Prerequisite : 윤곽선 길이 구하기 Convex 검사 Convex 검사는 주어진 윤곽선이 볼록한지 여부를 확인하는 것을 말한다. OpenCV에서는 isContourConvex()라는 함수를 통해 Convex 검사를 할 수 있다. Imgproc.isContourConvex(contour) contour: 윤곽선 좌표 정보.반환값: convex 여부 convex를 검사하는 예제를 살펴보자. 볼록한 도형의 경우 Convex라고 더보기…

[안드로이드로 배우는 OpenCV] 주어진 점에 적합한 직선 구하기 (fitLine)

Prerequisite : 윤곽선 길이 구하기 fitLine 함수 OpenCV에서는 fitLine이라는 함수를 제공하는데, 이는 주어진 점들을 적당히 감싸는 직선 정보를 구할 수 있다. fitLine 함수는 ∑iρ(ri)를 최소화하여 2D 또는 3D 점들의 집합에 선을 피팅하는데, 여기서 ri는 i번째 점과 선 사이의 거리이고, ρ(r)은 거리를 구하는 더보기…

[안드로이드로 배우는 OpenCV] 주어진 점에 적합한 타원 구하기 (fitEllipse)

Prerequisite : 윤곽선 길이 구하기 fitEllipse 함수 OpenCV에서는 fitEllipse라는 함수를 제공하는데, 이는 주어진 점들을 적당히 감싸는 타원 정보를 구할 수 있다. Imgproc.fitEllipse(contour) contour: 윤곽선 좌표반환값: RotatedRect 타입의 타원 정보 fitEllipse와 함께 이미지 내 도형을 타원으로 적당히 감싸는 예제를 살펴보자. 예제코드: 더보기…

[안드로이드로 배우는 OpenCV] 윤곽선을 근사화하기

Prerequisite : 윤곽선 길이 구하기 윤곽선 근사화 윤곽선 근사화란 검출한 윤곽선 정보를 분석하여 정점(vertex) 수가 적은 윤곽선 또는 다각형으로 표현할 수 있게 만드는 방법을 의미 한다. 이때 Douglas-Peucker 알고리즘을 사용한다. OpenCV에서 윤곽선 근사화를 위해 approxPolyDP라는 함수를 제공하고 있다. approxPolyDP(curve, approxCurve, 더보기…