ตั้งแต่วันที่ 27 มีนาคม 2025 เป็นต้นไป เราขอแนะนำให้ใช้ android-latest-release
แทน aosp-main
เพื่อสร้างและมีส่วนร่วมใน AOSP โปรดดูข้อมูลเพิ่มเติมที่หัวข้อการเปลี่ยนแปลงใน AOSP
โบเก้ของกล้อง
จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน
บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ
โบเก้ของกล้องคือเอฟเฟกต์ความชัดลึกระดับต่ำที่สร้างขึ้นโดยการเบลอบางส่วนของฉากเพื่อให้ไม่อยู่ในโฟกัส ในกล้องของอุปกรณ์เคลื่อนที่ โบเก้จะสร้างขึ้นโดยใช้ข้อมูลความลึกที่ได้รับจากภาพสามมิติจากกล้อง 2 ตัวหรือจากโฟโตไดโอด (PD) คู่ของกล้องตัวเดียว
ตั้งแต่ Android 11 เป็นต้นไป แพลตฟอร์ม Android จะรองรับการใช้งานโบเก้และมี API เพื่อให้แอปของบุคคลที่สามใช้งานฟีเจอร์นี้ได้
การใช้งาน
หากต้องการให้ฟีเจอร์โบเก้ของกล้องพร้อมใช้งานในอุปกรณ์ ให้ทำดังนี้
โฆษณา ANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_MAX_SIZES
แท็กนี้อยู่ในรูปแบบอาร์เรย์ทูเปิลจำนวนเต็ม 3 รายการ โดยแต่ละทูเปิลอยู่ในรูปแบบ {mode, maxWidth, maxHeight}
นอกเหนือจาก{ANDROID_CONTROL_EXTENDED_SCENE_MODE_DISABLED, 0, 0}
แล้ว HAL ของกล้องยังต้องแสดงโหมดANDROID_CONTROL_EXTENDED_SCENE_MODE_BOKEH_STILL_CAPTURE
และANDROID_CONTROL_EXTENDED_SCENE_MODE_BOKEH_CONTINUOUS
อย่างน้อย 1 โหมดหรือทั้ง 2 โหมดพร้อมขนาดสตรีมมิงสูงสุดที่เกี่ยวข้อง
โฆษณา
ANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_ZOOM_RATIO_RANGES
แท็กนี้มีรูปแบบเป็นอาร์เรย์ {minZoomRatio, maxZoomRatio}
ซึ่งมีช่วงอัตราส่วนการซูมทั้งหมดสำหรับโหมดฉากที่ขยายที่เปิดใช้ โดยจัดเรียงตามลําดับเดียวกับใน ANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_MAX_SIZES
ช่วงการซูม [1.0, 1.0]
หมายความว่าอุปกรณ์ไม่รองรับการซูม
ป้อนข้อมูล ANDROID_CONTROL_USE_EXTENDED_SCENE_MODE
ใน
ANDROID_CONTROL_AVAILABLE_MODES
หากต้องการให้แอปเรียกใช้ฟีเจอร์โบเก้ แอปต้องตั้งค่า ANDROID_CONTROL_MODE
เป็น ANDROID_CONTROL_USE_EXTENDED_SCENE_MODE
และ ANDROID_CONTROL_EXTENDED_SCENE_MODE
เป็นโหมดฉากที่ขยายที่รองรับ
โปรดทราบว่าการใช้โบเก้อาจทำให้หน่วยความจำมีการใช้งานมากขึ้นเนื่องจากการประมวลผลภาพสเตอริโอ
หากใช้โหมดฉากที่ขยายที่รองรับต่อเฟรมไม่ได้และส่งผลให้เกิดความล่าช้าที่ไม่คาดคิดเมื่อเปิด/ปิดใช้ ให้ใส่ ANDROID_CONTROL_EXTENDED_SCENE_MODE
ใน ANDROID_REQUEST_AVAILABLE_SESSION_KEYS
ในขณะเดียวกัน ให้ใช้วิธี ICameraDeviceSession::isReconfigurationRequired()
เพื่อหลีกเลี่ยงการกำหนดค่าโหมดฉากที่ขยายเวลาใหม่ซึ่งไม่จำเป็นต้องกำหนดค่าใหม่
การตรวจสอบความถูกต้อง
หากต้องการตรวจสอบฟีเจอร์โบเก้ในอุปกรณ์ ให้เรียกใช้การทดสอบ CTS, VTS และการทดสอบโปรแกรมตรวจสอบ CTS ต่อไปนี้
CtsCameraTestCases
VtsHalCameraProviderV2_4TargetTest
CameraBokehTest
ในโปรแกรมตรวจสอบ CTS
ตัวอย่างเนื้อหาและโค้ดในหน้าเว็บนี้ขึ้นอยู่กับใบอนุญาตที่อธิบายไว้ในใบอนุญาตการใช้เนื้อหา Java และ OpenJDK เป็นเครื่องหมายการค้าหรือเครื่องหมายการค้าจดทะเบียนของ Oracle และ/หรือบริษัทในเครือ
อัปเดตล่าสุด 2025-07-26 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"]],["อัปเดตล่าสุด 2025-07-26 UTC"],[],[],null,["# Camera bokeh is a shallow depth-of-field effect created by blurring out parts of\na scene so that they're not in focus. On cameras on mobile devices, bokeh is\nachieved using depth information acquired from the stereo vision from two\ncameras or from dual photodiodes (PDs) of a single camera.\n\nStarting from Android 11, the Android platform\nsupports bokeh implementations and provides APIs to make the feature available\nto third-party apps.\n\nImplementation\n--------------\n\nTo make the camera bokeh feature available on your device, do the following:\n\n- Advertise `ANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_MAX_SIZES`:\n\n This tag is in the format of a three-integer tuple array, with each tuple\n in the format of `{mode, maxWidth, maxHeight}`. In addition to\n `{ANDROID_CONTROL_EXTENDED_SCENE_MODE_DISABLED, 0, 0}`, the camera HAL must\n also list one or both of the\n `ANDROID_CONTROL_EXTENDED_SCENE_MODE_BOKEH_STILL_CAPTURE` and\n `ANDROID_CONTROL_EXTENDED_SCENE_MODE_BOKEH_CONTINUOUS` modes with their\n corresponding maximum streaming sizes.\n- Advertise\n `ANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_ZOOM_RATIO_RANGES`:\n\n This tag is in the format of a `{minZoomRatio, maxZoomRatio}` array,\n which contains all the zoom ratio ranges for an enabled extended scene\n mode, in the same order as in\n `ANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_MAX_SIZES`. A zoom range of\n `[1.0, 1.0]` means that zoom isn't supported.\n- Populate `ANDROID_CONTROL_USE_EXTENDED_SCENE_MODE` in\n `ANDROID_CONTROL_AVAILABLE_MODES`.\n\nFor an app to trigger the bokeh feature, the app must set `ANDROID_CONTROL_MODE`\nto `ANDROID_CONTROL_USE_EXTENDED_SCENE_MODE` and\n`ANDROID_CONTROL_EXTENDED_SCENE_MODE` to one of supported extended scene modes.\nNote that implementing bokeh might lead to extra memory consumption because of\nstereo computation.\n\nIf a supported extended scene mode can't be applied per frame and results in\nunexpected delays when enabled/disabled, include\n`ANDROID_CONTROL_EXTENDED_SCENE_MODE` in\n`ANDROID_REQUEST_AVAILABLE_SESSION_KEYS`. At the same time, implement the\n`ICameraDeviceSession::isReconfigurationRequired()` method to avoid\nreconfiguration for extended scene modes that don't require reconfiguration.\n\nValidation\n----------\n\nTo validate the bokeh feature on your device, run the following CTS, VTS, and\nCTS Verifier tests:\n\n- `CtsCameraTestCases`\n- `VtsHalCameraProviderV2_4TargetTest`\n- `CameraBokehTest` in CTS Verifier"]]