CameraX: Vũ khí mới của Google trong cuộc chiến nhiếp ảnh

Kể từ khi giới thiệu Android, Google đã phải vật lộn để cung cấp một khung máy ảnh cho các nhà phát triển cho phép họ vừa xây dựng các ứng dụng hỗ trợ máy ảnh một cách nhanh chóng vừa tận dụng các khả năng nâng cao mà các nhà sản xuất điện thoại cung cấp. API Máy ảnh đầu tiên của nó bị hạn chế và phiên bản thứ hai rất phức tạp. Cả hai đều không có cách độc lập với nhà cung cấp để kích hoạt một số chế độ nâng cao đã được thêm vào điện thoại để cải thiện chất lượng hình ảnh và thêm hiệu ứng phong cách. Giờ đây, Google đang ra mắt CameraX, một thư viện không chỉ cung cấp một cách đơn giản hóa cho các nhà phát triển để truy cập vào chức năng Camera2 của Android mà còn cung cấp các tiện ích mở rộng cho các khả năng bổ sung.

CameraX là một cách đơn giản hơn để khai thác sức mạnh của Camera2



Biểu trưng AndroidCameraX được cung cấp dưới dạng thư viện hỗ trợ Jetpack và phần cơ bản của khả năng của nó là có thể sử dụng được trên các phiên bản hệ điều hành Android trở về Android 5.0 (API cấp 21). Trình bao bọc của nó cung cấp một tập hợp các giao diện tập trung vào trường hợp sử dụng cho Camera2 và thêm nhận thức về vòng đời để giúp giảm chi phí lập trình. Google cũng cho biết nó làm giảm sự phụ thuộc của thiết bị, vì vậy mã CameraX sẽ chạy trên tất cả các loại phần cứng (cũng có các cuộc gọi để hỏi liệu thiết bị có một khả năng cụ thể như camera trước hay không).

Để làm việc với CameraX, nhà phát triển chỉ định trường hợp sử dụng mong muốn với các tùy chọn cấu hình. Sau đó, người nghe sẽ được thêm vào để xử lý đầu ra dữ liệu bởi thư viện CameraX - có thể ở dạng luồng dữ liệu hoặc được ghi trực tiếp vào tệp. Cuối cùng, các trường hợp sử dụng bị ràng buộc với Vòng đời kiến ​​trúc Android, để CameraX có thể xử lý một số công việc quản lý liên quan đến thiết lập và chia nhỏ tài nguyên cho ứng dụng. Một tính năng thú vị của CameraX là nhiều trường hợp sử dụng có thể được chạy đồng thời, vì vậy bản xem trước có thể vẫn hiển thị trực tiếp trong khi hình ảnh hoặc video được phân tích và có thể được chụp lại chẳng hạn.



Các bản xem trước của CameraX bị ràng buộc với kết cấu bề mặt

Các bản xem trước của CameraX bị ràng buộc với kết cấu bề mặt

CameraX hỗ trợ một số trường hợp sử dụng: Xem trước, để có hình ảnh trên màn hình; Phân tích hình ảnh, để truy cập trực tiếp vào bộ đệm hình ảnh; và Chụp ảnh, để lưu hình ảnh hoặc video đã được xử lý hoàn chỉnh. Google cung cấp một số ứng dụng mẫu cho các trường hợp sử dụng khác nhau. Như xu hướng gần đây, những cái tôi đã xem được viết bằng Kotlin với các phiên bản Java thay thế.



Sau một vài dòng thiết lập, các lệnh CameraX khá đơn giản. Ví dụ, để đơn giản chụp một hình ảnh từ máy ảnh, có một phương thức takePicture (). Trước khi gọi nó, một cuộc gọi đơn giản khác cho phép ứng dụng chọn máy ảnh nào sẽ sử dụng hoặc đặt các thông số khác. Như bạn mong đợi, CameraX yêu cầu ứng dụng phải có quyền CAMERA và quyền WRITE_EXTERNAL_STORAGE trên các phiên bản Android trước Q nếu bạn muốn ghi trực tiếp vào hệ thống tệp.

Mở rộng tính năng Chụp ảnh RAW sang các Kịch bản nhiều khung hình

Google có một phòng thí nghiệm thử nghiệm chuyên dụng đã làm việc với 52 thiết bị trong việc phát triển thư việnĐó là một bước tiến lớn về khả năng khi điện thoại Android bắt đầu cung cấp tùy chọn lưu ảnh RAW để xử lý hậu kỳ sau này, thay vì chỉ cho phép truy cập vào các phiên bản JPEG được xử lý trước của chúng. Nhưng với việc điện thoại thông minh ngày càng dựa vào sự kết hợp phức tạp của nhiều khung hình để tạo ra một đầu ra duy nhất, xử lý hậu kỳ một khung hình RAW không phải lúc nào cũng là lựa chọn tốt nhất. Với CameraX, các nhà phát triển ứng dụng có thể đọc trực tiếp luồng khung hình đến từ máy ảnh. Điều đó quan trọng đối với các ứng dụng như máy học và thực tế tăng cường (AR). Tuy nhiên, nó cũng là một lợi ích tiềm năng cho những người muốn cung cấp đường ống xử lý hình ảnh của riêng họ - trên thiết bị hoặc sau đó trên máy tính để bàn hoặc trên đám mây.

CameraX cung cấp các tiện ích mở rộng cho HDR, Ban đêm, Chân dung và Làm đẹp

Sử dụng tiện ích mở rộng, các ứng dụng có thể xem trước các hiệu ứng bao gồm cả chế độ Chân dung, như trên Huawei Mate 20 Pro nàyMột lĩnh vực khiến các ứng dụng máy ảnh của bên thứ ba trở nên kém hấp dẫn hơn là khó khăn mà họ gặp phải trong việc khai thác khả năng chụp ảnh tính toán nâng cao của điện thoại thông minh kiểu mới hơn. Đối với các thiết bị hỗ trợ tiện ích mở rộng CameraX, các ứng dụng có thể truy cập các chế độ nâng cao của chúng bao gồm HDR, Chụp ảnh ban đêm, Chế độ chân dung và các cải tiến Làm đẹp bằng cách bổ sung đơn giản một vài dòng mã vào ứng dụng Camera2 hiện có.



Để một ứng dụng có quyền truy cập vào tiện ích mở rộng, nhà sản xuất điện thoại cần thêm một hook vào thư viện CameraX vào API riêng của nhà cung cấp. Nếu nhà cung cấp không cung cấp việc triển khai một khả năng, CameraX sẽ chỉ báo cáo là không khả dụng. Hiện tại, các nhà phát triển sử dụng phiên bản alpha của CameraX có thể sử dụng các tiện ích mở rộng trên các điện thoại sau:

  • Samsung (HDR, Ban đêm, Làm đẹp, Tự động): Dòng Galaxy Note 10 (trong ảnh, trên cùng)
    (được trình diễn tại Samsung’s SDC19)
  • Huawei (HDR, Chân dung): Mate 20 series, P30 series, Honor Magic 2, Honor View 20

Bản giới thiệu CameraX

CameraX hiện đang ở giai đoạn alpha nhưng dự kiến ​​sẽ chuyển sang trạng thái beta - nghĩa là các API cuối cùng theo Google - vào tháng 12. Samsung đã giới thiệu sự hỗ trợ của mình đối với CameraX trong tuần này tại Hội nghị nhà phát triển phần mềm và đồng tổ chức một phiên họp với Google về cách các nhà phát triển có thể tận dụng cả CameraX và các tiện ích mở rộng của nó trên điện thoại Samsung mới nhất.

Copyright © Đã Đăng Ký BảN QuyềN | 2007es.com