How to motion deblur an image using OpenCV and Python?

17.8k views Asked by At

So I have been asked to motion deblur a frame captured from a video, I am kind of new to this deblur filters so need help. The video does not contain any noise, just a vertical motion blur. I am not allowed to use skimage, or any other library except cv2. It would be a great help even if what technique or function I have to use comes to know. Thanks!

2

There are 2 answers

0
Sunil Singh On BEST ANSWER

You can use the Motion Deblur Filter of opencv, if you specifically want to use opencv. Following is the link to its documentation, which is fairly easy to understand: http://amroamroamro.github.io/mexopencv/opencv/weiner_deconvolution_demo_gui.html

You can go for skimage as well. It has many function like deconvolution which can help in deblurring images.

0
87VN0 On

I think that for this kind of problem you have to use the recent deep learning techniques. They outperform the classical approaches. I recommend to look on github for a repository that would already provide a trained network that can deblur the same kind of blur that you have.

I never tried it, but this could be a nice candidate.