簡體   English   中英

使用 CameraX 使用長焦鏡頭進行變焦

[英]Zoom with the telephoto lens with CameraX

在我的應用程序中,變焦僅限於主鏡頭,而不是設備的長焦鏡頭(如果有的話)。

長焦鏡頭可以由任何制造商提供; 我不希望實現特定於制造商設備的 API 來訪問長焦或廣角鏡頭。

這會導致不太理想的圖片,並且應用程序無法進一步縮放到主攝像頭的縮放限制。

如何使用長焦鏡頭(如果可能,也可以使用廣角鏡頭)放大我的應用程序?

謝謝。

CameraX 根本無法為您提供您想要/需要的相機/鏡頭。 您可以將縮放級別設置為最低可用,並希望獲得最好的結果。 您可以嘗試 Camera2,但也不能保證。
理論上,如果您將縮放比例設置為低於 1.0f,這應該會使 cameraX 使用廣角相機。 實際上,除了 Pixel 6 之外,我從未見過任何設備支持此功能。 甚至 Google Pixel 也無法實現必要的功能來支持帶有 CameraX 的 3rd 方相機應用程序。 如果您想檢查,可以通過以下方式設置最小可用縮放:在大多數設備中,您會看到最小縮放為 1.0f,而在 Pixel 6 中為 ~0.7f。

val maxAvailableZoom = camera?.cameraInfo?.zoomState?.value?.maxZoomRatio
val minAvailableZoom = camera?.cameraInfo?.zoomState?.value?.minZoomRatio ?: 1f
camera?.cameraControl?.setZoomRatio(minAvailableZoom)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM