CameraX를 사용하여 개발자 생산성을 높이는 Microsoft 렌즈
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.

Microsoft Lens는 문서와 화이트보드의 이미지를 더 쉽게 읽을 수 있게 해주는 제품입니다. Microsoft 렌즈팀은 카메라 및 카메라 기능 지원이 포함된 Android 프레임워크 API인 Camera1 API가 최신 Android 기기에서 일관되지 않은 성능을 보이는 것을 우려했습니다. 새로운 것을 빌드하는 범위를 살펴봤으며, 가장 빠른 개발 경로는 CameraX를 사용하여 카메라폰의 최신 기능을 이용하는 것이라고 판단했습니다.
진행한 작업
Microsoft는 Microsoft Lens를 사용하는 생산성 앱 제품군에 CameraX를 사용하기로 결정했습니다. CameraX는 개발자가 Android 앱에서 카메라 기능을 더 간단하게 빌드할 수 있는 오픈소스 Android Jetpack 지원 라이브러리입니다. CameraX는 모든 Microsoft 렌즈 도구와 통합되어 일부 앱에서 고화질 이미지를 사용할 수 있습니다. 또한 CameraX는 더 간단한 API를 제공하여 개발자 환경을 개선하며 Android 기기의 94%에서 작동합니다. Microsoft Lens에서는 CameraX로 전환한 덕분에 성능 문제를 해결하고 개발자의 생산성을 높이고 출시 기간을 단축할 수 있었습니다.
결과

Microsoft Lens팀은 CameraX 라이브러리를 구현하면 테스트 및 최적화 주기가 줄어 개발자 시간이 크게 줄어든다는 사실을 발견했습니다. CameraX는 엔지니어링팀의 통합에 약 4개월이 걸렸다고 추정합니다. Camera2에서는 약 6개월이 걸렸을 것입니다.
“Camera1 API에 비해 CameraX를 사용하면 해상도, 가로세로 비율, 이미지 회전, 캡처 품질 등의 속성을 더 쉽게 구성할 수 있어 통합에 드는 노력과 시간이 도움이 되었습니다. 사용자가 애플리케이션 간에 전환하는 동안 CameraX 내부적으로 카메라 열기/닫기 상태를 처리하면서 통합해야 하는 코드 줄이 줄었고 개발자의 생산성이 앱 재설정 대신 비즈니스 로직에 집중할 수 있었습니다."라고 Microsoft의 수석 소프트웨어 엔지니어인 비샬 바트나가르는 말했습니다.

Microsoft는 CameraX를 사용하여 Camera1보다 출시 및 캡처 성능을 개선할 수 있었습니다. 최신 Android 기기에서의 성능은 출시 및 캡처 과정에서 2배 증가했으며, 일부 기기에서는 성능이 3배 향상되기도 했습니다 (기기에 따라 다를 수 있음). 또한 핵심 스캔 기능을 사용 설정하는 것이 Camera2의 추정치에 비해 더 쉬웠습니다. 기기 단편화 측면에서 CameraX는 많은 OEM 기기에서 구현할 때 여러 기기의 Camera2 변형을 효과적으로 숨깁니다.
Microsoft팀은 현재 Office, Teams, OneDrive, Word, Excel, PowerPoint, Microsoft Lens, My Hub와 같은 다른 일부 Android 앱에 CameraX를 통합하고 있습니다. 이러한 앱은 모두 문서 스캔 및 이미지에서 항목 추출 (예: 이미지-테이블, 이미지-텍스트)과 같은 시나리오에서 이미지 캡처 기능에 CameraX를 사용합니다. 또한 Microsoft팀은 곧 Outlook에 CameraX를 구현할 계획이며 Kaizala와 같은 다른 앱에서도 사용할 수 있는지 살펴보고 있습니다.
시작하기
앱에서 CameraX를 구현하는 방법에 관한 자세한 내용은 문서를 참조하세요.
이 페이지에 나와 있는 콘텐츠와 코드 샘플에는 콘텐츠 라이선스에서 설명하는 라이선스가 적용됩니다. 자바 및 OpenJDK는 Oracle 및 Oracle 계열사의 상표 또는 등록 상표입니다.
최종 업데이트: 2022-01-31(UTC)
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["필요한 정보가 없음","missingTheInformationINeed","thumb-down"],["너무 복잡함/단계 수가 너무 많음","tooComplicatedTooManySteps","thumb-down"],["오래됨","outOfDate","thumb-down"],["번역 문제","translationIssue","thumb-down"],["샘플/코드 문제","samplesCodeIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2022-01-31(UTC)"],[],[],null,["# Microsoft Lens increases developer productivity using CameraX\n\n[Microsoft Lens](https://play.google.com/store/apps/details?id=com.microsoft.office.officelens) is a product that makes images of documents and whiteboards easier to read. The Microsoft Lens team was concerned that the [Camera1](https://developer.android.com/guide/topics/media/camera) API, an Android framework API that includes support for cameras and camera features, was performing inconsistently for them on modern Android devices. They scoped out building something new and determined that the fastest development route was to use CameraX to get the modern features of a camera phone.\n\nWhat they did\n-------------\n\nMicrosoft decided to use [CameraX](https://developer.android.com/training/camerax) for their suite of productivity apps that use Microsoft Lens. CameraX is an open source [Android Jetpack](https://developer.android.com/jetpack) support library that makes it simpler for developers to build camera functionality in Android apps. CameraX integrates with all of Microsoft Lens' tools to ensure use of high-quality images across select apps. CameraX also improves the developer experience by providing a simpler API and works across 94 percent of Android devices. By switching to CameraX, the Microsoft Lens team was able to solve their performance issues, increase developer productivity, and reduce the time to go to market.\n\nResults\n-------\n\nThe Microsoft Lens team found that implementing the CameraX library saved their developers a significant amount of time, as a result of fewer testing and optimization cycles. They estimate that CameraX took their engineering team about four months of effort for integration time, compared to Camera2, which would have taken about six.\n\n\"With CameraX it is easier to configure attributes like resolution, aspect ratio, image rotation, capture quality, etc., when compared to Camera1 APIs, which helped integration effort and time. CameraX internally handling the state (to open/close camera) while users switch between the applications had reduced lines of code to integrate and also helped developer productivity to focus on business logic instead of app resetting state,\" said Vishal Bhatnagar, Principal Software Engineer Manager at Microsoft.\n\nUsing CameraX led Microsoft to better launch and capture performance compared to Camera1. Their performance on modern Android devices increased by 2X in launch and capture, and some devices even saw performance gains of 3X (although this varies by device). In addition, enabling core scan functionality was easier compared to estimates for Camera2. In terms of device fragmentation, CameraX effectively hides many devices' Camera2 variations in implementation on many OEM devices.\n\nThe Microsoft team is currently integrating CameraX into some of their other Android apps, such as Office, Teams, OneDrive, Word, Excel, PowerPoint, Microsoft Lens, and My Hub. All of these apps use CameraX for image capture functionality in scenarios such as document scan and image to entity extraction (such as image to table, image to text). The Microsoft team is also planning to implement CameraX in Outlook soon and looking into its potential for other apps, such as Kaizala.\n\nGet started\n-----------\n\nVisit our documentation to learn more about how to implement CameraX in your app."]]