We are using the MIPI-CSI camera interface of the iMX7 processor to retrieve an image of an OV5640 based camera.The purpose of this camera image is read a barcode from the image.
Before developing our own hardware, we tested a OV5640 base webcam on a linux (ubuntu) machine to check the image quality. The quality was high enough to be able to read barcodes that were visible as a single pixel for each bar. The images were sharp, even at short ranges, although the autofocus could take some time before stabilizing.
Now we have developed are own board, thats a copy of the iMX7 sabre board with regard to the MPIP-CSI interface. When using the mipi-csi camera, the image quality is very bad: even at low image reolutions, the lines in the image are blurred, see the attached image. This limits to barcodes to be processed very much.
We tried to improve the autofocus by increasing the image distance and improve the lighting conditions, but no improvement seemed possible.
We also tried to improve the image quality by changing resolution, but it seems as if the blurriness is independant of the resolution. We also tested a few different camera modules
It might be that the algorithme to convert the UYV pixels to a (black and white) bitmap is incorrect. Are there ways to test the camera image output, for instance on the iMX7 Sabre development board? Is there software available to take a snapshot of the camera output? Have other developers succesfully used the camera in their applications?