I’m having trouble with the 12MP IMX708 Autofocus Camera. The autofocus doesn’t work consistently and image sharpness varies a lot when I capture with a Picamera2 Python script. If I use libcamera-still instead, the image quality is noticeably better, but then autofocus won’t hold continuous focus. I’ve also been looking for a wide-angle autofocus camera with an IR filter, but I can’t find one — most 16MP alternatives are 78° FoV instead of the 102° or more that I need. Has anyone run into this?
Welcome to the forum. Could you share a bit more about your setup? Which board(s) you’re running, how many cameras, and what you’re actually capturing? Also, what are the hard requirements for your use case — continuous autofocus, resolution, IR filter, field of view?
Sure. I’m running two Raspberry Pi 5 boards with four IMX708 cameras total. We’re capturing 1200mm coils. The requirements are: autofocus (ideally continuous), high-resolution images for AI-based processing, IR filter support, and a wide field of view of 102° or more.
Thanks, that helps. Could you post the relevant part of your Picamera2 script and the exact libcamera-still command you’re using? I’d like to see what autofocus mode is set in each case, since the behavior difference you’re describing usually comes down to how autofocus is configured between the two methods.
For Picamera2 I’m using a Python script — the autofocus is inconsistent and sharpness varies between shots. With libcamera-still the image quality is better, but it doesn’t keep continuous focus, so focus drifts between frames. That’s the main tradeoff I’m stuck on right now.
Got it. Are there any logs or error output when the Picamera2 autofocus misbehaves? Any warnings printed to the console would be really useful to narrow this down.
No logs unfortunately, nothing was captured. The camera just doesn’t seem to lock focus reliably in the Python script.
Understood. Before we dig into the settings, I want to confirm what you’ve already tried. You’ve tested both capture methods and also looked at 16MP alternatives. Did any of those alternatives actually meet the wide-angle + autofocus + IR filter combination?
Right. I evaluated the 16MP alternatives and none matched what I need — most are 78° FoV, and none had the wide-angle autofocus with IR filter combination. So I’m basically stuck with the IMX708 for now.
That’s useful context. Could you upload a couple of sample images — one from the Picamera2 script and one from libcamera-still — so we can compare the sharpness difference directly?
Here you go. First one is from Picamera2, second from libcamera-still.
y_8.png (Captured using Picamera2)

one_7.jpg (Captured using libcamera-still)

Thanks for the samples. The libcamera-still image does look sharper, which matches what you described. So from everything we’ve covered: Picamera2 gives you continuous autofocus but the focus isn’t locking consistently, while libcamera-still is sharper but won’t hold continuous focus. We don’t have logs yet to pinpoint the Picamera2 issue, and the 16MP alternatives don’t meet your 102°+ FoV / autofocus / IR filter requirements. For now, a practical workaround would be to trigger a fresh autofocus cycle between libcamera-still captures if your use case can tolerate it, while we keep investigating the Picamera2 focus inconsistency. If you can grab the console output from the Picamera2 run next time, that would help us figure out why the focus isn’t holding.