[안드로이드로 배우는 OpenCV] 이미지의 픽셀 처리 및 밝기 조절하기

이미지 밝기 조절하기 아래 이미지와 같이 원본이미지의 밝기를 조절하는 방법에 대해서 알아본다. 픽셀 처리하기 이미지를 밝게 하거나 어둡게 하기 위해서는 각 픽셀에 대한 특정 연산을 해줘야한다. 이미지는 여러 픽셀들로 구성되며 픽셀의 총 갯수는 다음과 같이 구할 수 있다. 이미지의 가로 길이 * 이미지의 세로 길이 = 총 픽셀 갯수 일반적인 더보기…

디지털 카메라 센서 이해하기

디지털 카메라와 이미지 센서 DSLR(Digital Single-Lens Reflex)은 디지털 일안 반사식 카메라를 의미하며, 미러리스는 내부의 미러 및 펜타프리즘을 제거하여 크기와 무게를 줄인 카메라를 의미한다. 이 두 카메라 모두 렌즈를 통해 빛을 받고 이미지 센서를 통해 기록된다. 이미지 센서의 종류  이미지 센서의 종류는 크게 CCD와 CMOS로 나뉜다. CCD와 CMOS의 차이점을 잘 더보기…

[안드로이드로 배우는 OpenCV] VideoCapture 클래스 사용하기

VideoCapture 사용하기 OpenCV에서는 카메라 영상 및 동영상 파일에서 프레임을 가져오는 작업을 VideoCapture 하나로 처리한다.   카메라 또는 비디오 열기 // 카메라 불러오기, 안드로이드는 적용되지 않음. val videoCapture = VideoCapture(index, apiPreferences) // 또는 val videoCapture = VideoCapture() camera.open(index, apiPreferences) // 비디오 불러오기 val videoCapture = VideoCapture(filePath, apiPreferences) // 또는 val videoCapture 더보기…

Jetpack Compose의 등장배경을 알아보자.

Jetpack Compose는 네이티브 Android UI를 빌드하기 위한 최신 선언형 UI 툴킷이다. Jetpack Compose는 적은 수의 코드, 강력한 도구 및 직관적인 Kotlin API로 Android에서의 UI 개발을 간소화하고 가속화한다. Declarative UI Programming? 선언형 UI프로그래밍(Declarative UI Programming)은 기존의 명령형 UI 프로그래밍과 달리 View의 상태(State)만 선언하고 자세한 구현은 프레임워크에게 맡기는 방법을 의미한다. 왜 Compose가 더보기…

글쓴이 Charlezz,

macOS의 애플리케이션에 하드웨어 접근 권한 부여하기

Big Sur+VSCode 환경에서 OpenCV의 VideoCapture 클래스를 사용하여 카메라에 접근하려고 하는데 권한이 없다고 나온다. 권한을 부여하기 위해 System Preferences > Security & Privacy > Privacy > Camera 탭 을 열어서 애플리케이션 목록을 확인해도 VS Code는 Camera 관련 앱이 아니기 때문에 목록에 나오지 않는 듯 하다. macOS에서 애플리케이션의 권한목록은 데이터베이스로 관리 되고 더보기…

[안드로이드로 배우는 OpenCV] 선, 사각형, 원 그리기

OpenCV에서는 몇가지 그리기 함수를 제공한다. 각 그리기 함수에 대해서 알아보고 안드로이드용 예제를 만들어본다. 직선 그리기 line(img, pt1, pt2, color, thickness, lineType, shift) img: 그림을 그릴 영상 pt1: 시작점 pt2: 끝점 color: 선 색상 (B,G,R)  thickness: 선 두께 lineType: 선 타입; LINE_8(기본값), LINE_4, LINE_AA shift: 그리기 좌표 값의 축소 비율. 기본값은 더보기…

URI랑 URL 차이점이 뭔데?

URI 그리고 URL을 혼용해서 사용하는 경우가 있다. 대부분의 경우 문제가 없지만 정확하게 이 둘의 차이점이 존재한다. 그러므로 각 용어의 정의와 용도에 대해서 알아본다. URI URI는 특정 리소스를 식별하는 통합 자원 식별자(Uniform Resource Identifier)를 의미한다. 웹 기술에서 사용하는 논리적 또는 물리적 리소스를 식별하는 고유한 문자열 시퀀스다. URL URL은 흔히 웹 주소라고도 더보기…

글쓴이 Charlezz,

안드로이드 개발자의 영어 단어 공부 – 4주차 —

Vocab next-door neighbor : 옆집 neighbor: 이웃 neighborhood:  동네  oyster: 굴 oyster farm : 굴 양식장 crypto-currentcy : 암호화폐 Graphic card price is rising continuously due to cryptocurrency 암호화폐 때문에 그래픽 카드 값이 계속 올라요. encrypted : 암호화 되어있는 Your account information is encrypted for privacy reasons 사생활 문제로 당신의 더보기…

글쓴이 Charlezz,

ROI와 마스크

관심영역(ROI;Region Of Interest) 이란?  관심 영역 (ROI)은 이미지 분석 위해 한 이미지 내에서 선택되어진 일부 영역을 말한다. 추가적인 이미지 처리가 필요할 때 이 영역에 집중할 수 있게 된다.  일상생활에서 예시를 찾아보자. 코로나로 인해 QR코드 스캐너를 어디에서나 볼 수 있다. 실제 카메라에 들어오는 영상이라는 것은 연속되는 정지된 이미지다. 하나의 이미지는 여러개의 더보기…

[안드로이드로 배우는 OpenCV] 안드로이드 스튜디오에 OpenCV 개발 환경 설정하기

OpenCV(Open Source Computer Vision)은 실시간 컴퓨터 비전을 목적으로 한 프로그래밍 라이브러리이다. Android 플랫폼에서 OpenCV를 활용한 개발 환경을 구축해보자.  (macOS 기준) OpenCV 설정하기 OpenCV 공식 홈페이지에서 Android용 SDK를 제공하기 때문에 OpenCV 소스코드를 안드로이드 환경에 맞춰 빌드 할 필요는 없다. 글을 작성하는 현 시점, OpenCV 4.5.1버전이 최신버전이다. SDK를 다운로드 하자. 다운로드 : opencv-4.5.1-android-sdk.zip 1.압축 더보기…