Improve eye image quality


Noob and new opencv user here :grin:

I made some research for a personal project about eye iris pictures improvement. My goal is to improve quality of existing iris pics, bad quality (low res, glares, blur, bad exposition). Here is an example of After/Before. It can be done in photoshop but I need to automate it.

It is not a problem if the image is not accurate, but it must look good at a resolution of 10000x10000px.

I found some information about removing glares and using upscale to add details using GANs (Super Resolution in OpenCV).

For me, the steps can be:

  • detect pupil center and crop a circle
  • remove glares
  • improve exposition and contrast
  • improve quality by upscaling

The question is : do you think OpenCV is the good tool to do this job, and will it be able to get the same result as in the example.


put your light sources where they don’t reflect off the eye’s surface. or try a polarization filter. that is a physical thing, not a digital thing.

or use AI. but then you can’t be sure you’re getting an accurate image of the iris, or just some kind of painting that looks convincing.

I don’t have the option of using polarizers, as this is a batch of images I have to process.

AI ? do you have any advice on how to do this? whitch AI ? it’s not my area of expertise… It may cost a lot, may be training a model.

I found informations about removing glare with OpenCV using inpainting, and it seems to work well. Then it may be possible to upscale with GAN for interpolation.

The result must looks like the original but not really accurate, more like art.