[이펙티브 코틀린 요약] 재사용성(Reusability)에 대하여

프로젝트에서 이미 있던 코드를 복사해서 붙여넣고 있다면, 무언가가 잘못된 것이다. -이펙티브 코틀린 저자- Knowledge를 반복하여 사용하지 말라 여기서 언급하는 knowledge는 일반적으로 표현하는 ‘지식’과 약간 다르게 ‘의도적인 정보’를 나타내는 개념으로, <실용주의 프로그래머> 라는 책에서 언급된다. 이 책에서는 ‘Don’t Repat Yourself’라는 규칙을 더보기…

[이펙티브 코틀린 요약] 가독성(Readability)에 대하여

코틀린은 간결함 보다는 가독성을 좋게하는 데 목표를 두고 설계된 프로그래밍 언어다. 코틀린을 사용하면 깨끗하고 의미 있는 코드와 API를 쉽게 작성할 수 있다. 다음의 항목들을 참조하여 가독성 좋은 코드를 작성해보자. 1. 가독성을 목표로 설계하기 개발자는 코드를 작성하는 시간보다 읽는데 많은 시간을 더보기…

[이펙티브 코틀린 요약] 안정성(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)은 거리를 구하는 더보기…