Software-Controlled Focus on 12MP IMX477 High Quality Camera: Keyboard Focus Control or Even Autofocus
With a software-controlled focus motor in the lens assembly, Arducam uses OpenCV to automate the focus process on a 12MP IMX477 High Quality Camera on the Raspberry Pi. This is how that looks like.
This is specifically about the autofocus HQ camera. If you are interested in the general autofocus topic on Raspberry Pi, we recommend you read Raspberry Pi Camera Autofocus: The Complete Guide.
Raspberry Pi High Quality Camera Autofocus: How Hard Is It?
Can we do autofocus with a Raspberry Pi High Quality camera?
Well, that’s hard, and let’s phrase the question in a slightly different way:
Can we do autofocus with a 12MP IMX477 MIPI Camera module on Raspberry Pi?
Yes, we can, and we did it with the Arducam High Quality camera module with a software-controlled focus motor.
How does a camera focus
To focus a camera, we need to move the lens closer to or away from the image sensor until we get the optical result – a crisp sharp image. On a regular M12 or C/CS-mounting system, the camera sits in the thread, so we need to screw it clockwise or counter-clockwise to achieve an excellent focus.
However, as we have enjoyed the usability of cameras in smartphones, it somehow becomes inconvenient or even counter-intuitive to focus a camera with bare hands.
In fact, most phone cameras use a motor to drive the lens in and out to focus with the help of software and algorithms.
The focusing process done with the help of motors is called “motorized” focus. It frees us from the mundane work of screwing the camera lens, and you don’t even have to be around the camera to focus it.
Arducam IMX477 High Quality Camera with Motorized Focus
This Arducam IMX477 High Quality motorized focus camera module integrates a motor that is controlled via the camera I2C, so we could use the software for a smarter focus, and you will no longer focus the camera by screwing the lens with your bare hands.
So how has software focus control made it more convenient? Here is an idea: Arducam provides you with an example program to control the focusing motor with keyboard keys, so you can focus the camera remotely with precision in an intuitive way.
In another example powered by OpenCV, algorithms are used to control the motor and achieve autofocus.
Other than its motorized focus, it offers the same picture quality and camera controls as the Raspberry Pi High Quality camera.
NVIDIA Jetson Nano and Jetson Xavier NX won’t miss the opportunity
Arducam has brought many IMX477 camera modules and features to the NVIDIA Jetson platform, so will the motorized focus version.