철이의 컴노리
  • 안녕하세요!
  • KOTLIN
  • ANDROID
    • Architecture Components
      • 프로젝트에 추가하기
      • 데이터 바인딩 라이브러리
        • 시작하기
        • 레이아웃 및 바인딩 표현식
      • 라이프 사이클 처리
      • ViewModel
    • CameraX
      • CameraX 아키텍처
      • 구성
      • 미리보기
      • 이미지 분석
      • 이미지 캡처
      • 제조 업체 확장 기능
    • View
      • 커스텀뷰의 크기 정하기
    • JNI 튜토리얼
      • 1장. 저자 소개
      • 2장. Hello JNI
      • 3장. 메서드 등록
      • 4장. int 데이터형 값 주고 받기
      • 5장. boolean 데이터형 값 주고 받기
      • 6장. double 데이터형 값 주고 받기
      • 7장. float 데이터형 값 주고 받기
      • 8장. long 데이터형 값 주고 받기
      • 9장. short 데이터형 값 주고 받기
      • 10장. char 데이터형 값 주고 받기
      • 11장. byte 데이터형 값 주고 받기
      • 12장. JNI에서 문자열 다루기 1/3
      • 13장. JNI에서 문자열 다루기 2/3
      • 14장. JNI에서 문자열 다루기 3/3
      • 15장. 레퍼런스 이해하기
      • 16장. 배열 다루기 1/4
      • 17장. 배열 다루기 2/4
      • 18장. 배열 다루기 3/4
      • 19장. 배열 다루기 4/4
      • 20장. 중간 요약
      • 21장. 자바 클래스 찾기 1/2
      • 22장. 자바 클래스 찾기 2/2
      • 23장. 정적 메서드 찾기
      • 24장. 정적필드 찾기
      • 25장. 자바 클래스 인스턴스 생성하기
      • 26장. 자바 클래스 인스턴스 메서드 찾기
      • 27장. 자바 클래스의 인스턴스 필드 찾기
      • 28장. 네이티브 쓰레드 실행하기
  • Swift
    • What' New
      • Swift 5.0
        • Result 타입
        • Raw 문자열
        • 커스텀 문자열 보간
    • Codable
      • 커스텀 타입 인코딩 및 디코딩
  • iOS
  • OpenGL
    • OpenGL Tutorial
      • 1장. 저자 소개
      • 2장. OpenGL 윈도우 프레임웍 만들기 1편
      • 3장. OpenGL 윈도우 프레임웍 만들기 2편
      • 4장. 점그리기
      • 5장. 선 그리기
      • 6장. 다각형 그리기
      • 7장. 색 표현하기
      • 8장. 3차원 폴리곤 그리기
      • 9장. 투영변환
      • 10장. 이동, 회전, 크기 변환
      • 11장. 빛, 재질 표현하기
      • 12장. 텍스춰매핑
    • OpenGL ES Tutorial for iOS
      • 1장. 저자 소개
      • 2장. 튜토리얼 소개
      • 3장. OpenGL|ES 개발 환경 만들기
      • 4장. 뷰 배경색상 변경하기
      • 5장. 투영에 대해서 1/2
      • 6장. 투영에 대해서 2/2
      • 7장. 선분 및 삼각형 그리기
      • 8장. 색상칠하기
      • 9장. 텍스춰맵핑
      • 10장. 종횡비
      • 11장. 텍스춰 UV좌표
      • 12장. 텍스춰매핑 파라미터
      • 13장. 깊이버퍼
      • 14장. 원근투영
  • ENV
    • oh-my-zsh
      • 특정 git 폴더에서 zsh 이 느려질 때
  • Ubuntu
    • UEFI USB
    • nvidia driver
    • /dev/kvm on Android Studio
    • install oracle-jdk8
  • chromium
    • javap
Powered by GitBook
On this page
  • 구현하기
  • 추가 자료
  • 코드랩
  • 코드 예제

Was this helpful?

  1. ANDROID
  2. CameraX

이미지 캡처

https://developer.android.com/training/camerax/take-photo 를 번역한 문서입니다.

이미지 캡처 유즈케이스는 고해상도, 고화질의 사진을 캡처할 수 있게 설계되어 있습니다. 그리고 자동 화이트 밸런스, 자동 노출 및 자동 초점(3A, auto-white-balance, auto-exposure, auto-focus) 기능을 제공합니다. 또한 간다한 수동 카메라 제어도 제공합니다.

호출자는 다음 옵션을 포함하여 캡처 한 이미지를 사용하는 방법을 결정해야 합니다.

  • takePicture(OnImageCapturedListener)

    • 이 메서드는 캡처 된 이미지의 메모리 버퍼를 제공합니다.

  • takePicture(File, OnImageSavedListener)

    • 이 메서드는 캡처 된 이미지를 제공된 파일 위치에 저장합니다.

  • takePicture(File, OnImageSavedListener, Metadata)

    • 이 메서드를 사용하면 저장된 파일의 Exif에 포함될 메타데이터를 지정할 수 있습니다.

구현하기

사진을 촬영하기 위한 기본적인 제어 기능을 제공합니다. 플래시 옵션과 연속 자동 초점을 사용하여 사진을 촬영할 수 있습니다.

사진 캡처 지연을 최적화하려면 ImageCapture.CaptureMode를 MIN_LATENCY로 설정합니다. 품질을 최적화하려면 MAX_QUALITY로 설정합니다.

다음 예제 코드는 사진을 촬영할 수 있도록 앱을 구성하는 방법을 보여줍니다.

val imageCaptureConfig = ImageCaptureConfig.Builder()
  .setTargetRotation(windowManager.defaultDisplay.rotation)
  .build()

val imageCapture = ImageCapture(imageCaptureConfig)

CameraX.bindToLifecycle(this as LifecycleOwner, imageCapture, imageAnalysis, preview)

카메라를 구성한 후, 이어지는 코드에서 사용자 액션에 따라 사진을 촬영합니다.

fun onClick() {
    val file = File(...)
    imageCapture.takePicture(file,
        object : ImageCapture.OnImageSavedListener {
            override fun onError(error: ImageCapture.UseCaseError,
                                 message: String, exc: Throwable?) {
                // insert your code here.
            }
            override fun onImageSaved(file: File) {
                // insert your code here.
            }
        })
}

이미지 캡처 메서드는 JPEG 형식을 완벽하게 지원합니다.

추가 자료

CameraX에 대한 자세한 내용은 아래의 추가 자료를 참고 합니다.

코드랩

코드 예제

Previous이미지 분석Next제조 업체 확장 기능

Last updated 6 years ago

Was this helpful?

CameraX 시작하기
CameraX 공식 예제 앱