modules/videoio: add libcamera backend for OpenCV VideoCapture #27254
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Feature: Add Libcamera backend
Summary:
This pull request introduces a new backend for the
cv::VideoCapture
module, providing support for cameras using the Libcamera library on Linux (and potentially other supported platforms).You can find the complete implementation here.
Detailed usage instructions and sample testing program can be found here.
Motivation / Reason for this change:
Libcamera is the modern standard API for camera control on many recent Linux systems, including popular development boards like the Raspberry Pi. It offers a more robust and feature-rich interface compared to the legacy V4L2 API for many newer camera modules. Adding official Libcamera support to OpenCV will allow users on these platforms to fully utilize their cameras with
cv::VideoCapture
, replacing or complementing the existing V4L2 backend where applicable.Implementation Details:
cap_libcamera.cpp
has been added to themodules/videoio/src/
directory.cv::VideoCaptureAPIs::CAP_LIBCAMERA
.Implemented Features:
grabFrame
,retrieveFrame
for frame capture.CAP_PROP_FRAME_WIDTH
,CAP_PROP_FRAME_HEIGHT
,CAP_PROP_FPS
eg).Issues of multi-cameras