I’m seeing the same issue. Dare I say what the subject matter is, but the conclusion is the same for me, on pi5 bookworm: cv2 with USB camera works. cv2 with ribbon cabled Rpi Camera Module 3 fails on capture.read() without any detail as to why it failed to read.
rpicam-video works fine with ribbon cam, but I suspect that is not using open cv and instead talking directly to mediapipe.
Here is a dump of v4l info with the ribbon cable cam installed in case anyone at opencv is working the issue. Thank you for this awesome package, -bee
(base) bee@pi5:~ $ sudo apt install v4l-utils
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
v4l-utils is already the newest version (1.22.1-5+b2).
The following package was automatically installed and is no longer required:
libwlroots12
Use 'sudo apt autoremove' to remove it.
0 upgraded, 0 newly installed, 0 to remove and 22 not upgraded.
(base) bee@pi5:~ $ v4l2-ctl --all -d /dev/video0
Driver Info:
Driver name : rp1-cfe
Card type : rp1-cfe
Bus info : platform:1f00110000.csi
Driver version : 6.6.62
Capabilities : 0xaca00001
Video Capture
Metadata Capture
Metadata Output
Streaming
Extended Pix Format
Device Capabilities
Device Caps : 0x24a00001
Video Capture
Metadata Capture
Streaming
Extended Pix Format
Media Driver Info:
Driver name : rp1-cfe
Model : rp1-cfe
Serial :
Bus info : platform:1f00110000.csi
Media version : 6.6.62
Hardware revision: 0x00114666 (1132134)
Driver version : 6.6.62
Interface Info:
ID : 0x03000017
Type : V4L Video
Entity Info:
ID : 0x00000015 (21)
Name : rp1-cfe-csi2_ch0
Function : V4L2 I/O
Pad 0x01000016 : 0: Sink, Must Connect
Link 0x02000037: from remote pad 0x1000006 of entity 'csi2' (Video Interface Bridge): Data
Priority: 2
Video input : 0 (rp1-cfe-csi2_ch0: ok)
Format Video Capture:
Width/Height : 640/480
Pixel Format : 'pRAA' (10-bit Bayer RGRG/GBGB Packed)
Field : None
Bytes per Line : 800
Size Image : 384000
Colorspace : Raw
Transfer Function : None
YCbCr/HSV Encoding: ITU-R 601
Quantization : Full Range
Flags :
Format Metadata Capture:
Sample Format : 'SENS' (Sensor Ancillary Metadata)
Buffer Size : 16384