[안드로이드로 배우는 OpenCV] 이미지의 덧셈 연산

덧셈 연산 dst( x, y ) = saturate(src1( x, y ) + src2( x, y )) 덧셈 연산은 두 이미지의 같은 위치에 존재하는 픽셀 값을 더해 결과 영상의 픽셀 값으로 설정하는 연산을 말한다. 덧셈결과가 픽셀의 표현범위 보다 크면 특정 픽셀 값으로 설정한다. 예를 들면 픽셀이 0~255으로 표현되는데 두 픽셀의 값을 더보기…

Navigation-safeargs 가 Directions 클래스를 생성하지 않는다?

안드로이드 스튜디오에서 ~Directions 클래스를 참조할 수 없다고 나오는데 빌드는 제대로 완료 되는 경우가 있다. 이 경우 Directions가 생성되지 않은 것이 아니라 참조가 되지 않는 것이다. 실제로 build/generated/source/navigation-args 경로에 가보면 Directions 클래스들이 존재하는 것을 확인할 수 있다. 즉, 컴파일 타임에 Directions가 제대로 생성되었지만 참조가 불가능한 경우이기 때문에 간단히 build.gradle에 다음의 내용을 더보기…

글쓴이 Charlezz,

[안드로이드로 배우는 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: 그리기 좌표 값의 축소 비율. 기본값은 더보기…