[OpenCV로 배우는 안드로이드] 케스케이드 분류기:얼굴검출

이번 포스팅에서는 Haar 특징 기반의 케스케이드 객체 검출원리에 대해 알아보고 얼굴을 감지하는 특징(feature)을 구현한다. Cascade Classifier와 얼굴 검출 원리 Haar 객체 검출기를 사용하는 객체 검출은 효과적인 객체 검출 방식으로 Paul Viola 와 Michael Jones의 의해 2001년에 고안되었다. (논문) 해당 논문은 머신러닝 기반의 접근방식으로, Positive 이미지와 Negative 이미지들로부터 케이스케이드 특징을 학습시키고, 더보기…

[OpenCV로 배우는 안드로이드] 템플릿 매칭

템플릿 매칭 이번 포스팅에서는 템플릿 매칭을 통한 이미지내 객체들을 찾는 방법을 다룬다. 템플릿 매칭은 큰 이미지내에서 템플릿 이미지의 위치를 찾는 방법을 말한다. OpenCV에서는 이를 위해 matchTemplate()이라는 함수를 제공하고 있다. 템플릿 매칭의 원리는 어렵지 않다. 단순히 템플릿 이미지를 원본 이미지상에서 조금씩 옮기고 픽셀들을 비교하여 얼마나 일치하는지를 확인하는 작업이다. OpenCV에서는 이런 탐색을 더보기…

First step in Canvas – (2) Path Basics

Path Basics 이번 포스팅에서는 Path가 무엇인지 살펴보고, Path로 어떤일들을 할 수 있는지 살펴보도록 하겠습니다. Path란? 안드로이드의 Path 클래스는 위에 있는 이미지 처럼 직선 및 곡선 등으로 구성된 복합적이고 기하학적인 내용을 그릴 수 있도록 도와줍니다. Path로 그리기 Canvas 스코프 내에서 path를 그릴 때 사용하는 메서드로 drawPath가 있습니다. 이미지 상의 두 drawPath는 더보기…

First step in Canvas – (1) Canvas Basics

캔버스 기초 이 포스팅은 캔버스의 전반적인 기초에 대해서 요약합니다. 캔버스 좌표계 안드로이드의 캔버스는 다른 좌표계들과 달리 좌측 상단을 원점으로 하여 값이 우측 하단 방향으로 증가합니다. 사각형 그려보기 이 캔버스의 정중앙에 사각형을 하나 그리기 위해서는 두 점이 필요합니다. 두 점은 각각 (x1,y1), (x2,y2)로 표현할 수 있습니다. 두 점 대신 하나의 점(x1,y1)과 함께 더보기…

Compose Canvas를 활용한 시계 만들기

Prerequisite 수학적으로 원을 그리려면 어떻게 해야할까? 컴포즈로 시계 만들기 위 영상과 같은 시계 UI를 만들려면 어떻게 해야할까? 복잡하다고 느낄수록 잘게 나누면 답이 보일 때가 있다. 시계를 구성하는 요소를 정리하면 다음과 같다. 시계 배경에 해당하는 커다란 원 시침, 분침, 초침 눈금 및 시간을 나타내는 텍스트 우선 각 요소의 스타일을 다음과 같이 더보기…

수학적으로 원을 그리려면 어떻게 해야할까?

컴퓨터를 이용하여 수학적으로 평면상에 무언가를 그리고 싶을 때, 반드시 알아야 하는 몇가지 재미없는 내용을 정리했다. 원(Circle) 지름(diameter) : 원의 중심을 지나 그 둘레위의 두 점을 직선으로 이은 선분의 길이. 한자어로는 직경이라고 하며, 지름은 순우리말. 반지름(radius) : 원의 중심에서 그 둘레에 이르는 선분의 길이. 지름의 절반이다. 원주(Circumference) : 원의 둘레 원주율(π, 더보기…

SVG 파일을 Compose용 ImageVector로 변환하기

비트맵 형식과 달리 벡터형식은 수학적인 연산으로 이미지를 표현한다. 그렇기 때문에 확대해도 품질이 떨어지지 않으며, 일반적으로 용량이 적어 버튼, 아이콘과 같은 이미지를 표현하는데 많이 사용된다. 일반적으로 벡터형식의 이미지는 SVG포맷을 이용하게 되는데, 안드로이드 앱 개발에서는 SVG파일을 직접적으로 참조 할 순 없다. Vector형식의 Drawable로 변경하기 위해 일반적으로 SVG를 XML 포맷으로 컨버팅하게 되는데, 오늘은 더보기…

윈도우 블러효과 적용하기

Android12부터 Android SDK에서 제공하는 API를 통해 윈도우 블러를 손쉽게 구현할 수 있다. 이 API를 이용하면 윈도우를 불투명하게 만들수도 있고, 윈도우 뒤에 있는 배경만 흐리게 만들수도 있다. 그리고 두 효과를 결합할 수도 있다. 윈도우 블러 적용 방법 윈도우를 투명하게 만들기 위해 windowIsTranslucent를 true로, windowBackground를 투명으로 설정한다. 2. 윈도우 뒤의 화면을 흐리게 더보기…

글쓴이 Charlezz,

원격근무의 시작과 사무용품 지원

코로나가 일상생활에 가져다 준 가장 큰 변화 중 하나가 원격근무다. 2020년도 초부터 시작하여 약 2년이상 임시 성격의 원격근무를 해왔고, 2022년 7월부터 본격적으로 원격근무제도가 도입되었다. 원격근무는 여러가지 측면에서 장점도 있고 단점도 있다. 가장 큰 장점은 오피스로 출근하지 않아도 되기 때문에 거주지에 구애를 받지 않고, 출퇴근에 소요되는 시간을 절약할 수 있다는 점이다. 더보기…