How to remove blurriness from an image using opencv (python/c++)

南笙酒味 提交于 2019-12-24 00:46:20

问题


I am using opencv to detect person in live video feed. I need to save the image of the person detected. But here the person is not standing and is keeps moving due to which when I am about to save the image, it is saved in very blurry format, just like below image:

As you can see the image is not very clear and has a lot of blurriness into it. Face is also not clear. Is there anyway we can remove the blurriness from image. Thanks


回答1:


You can try sharpening the image using cv2.filter2D() and a generic sharpening kernel

Here are other sharpening kernels you can experiment with

import cv2
import numpy as np

image = cv2.imread('1.jpg')
sharpen_kernel = np.array([[-1,-1,-1], [-1,9,-1], [-1,-1,-1]])
sharpen = cv2.filter2D(image, -1, sharpen_kernel)

cv2.imshow('sharpen', sharpen)
cv2.waitKey()



回答2:


You may use deconvolution with OpenCV to remove the blur. Needless to say, it's very time consuming process with no guaranteed result quality, especially for the blurred video frames.

Please, read this: Deconvolution with OpenCV?

This might also help: https://docs.opencv.org/master/de/d3c/tutorial_out_of_focus_deblur_filter.html




回答3:


As suggested by @nathancy you can try with morhological based operations, this works in all the cases but it requires filter dimension tuning according to image shape, noise level and it also leads to drop in image quality.

Recently, Generative Adversarial Networks (GAN) has also got attention for regenrating the images and seems to be promising in image quality enhancement.

This article(https://medium.com/machine-learning-world/deblur-photos-using-generic-pix2pix-6f8774f9701e) has described a GAN based (based on pixtopix model) solution for image deblurring, this may work for your case too.



来源:https://stackoverflow.com/questions/58231849/how-to-remove-blurriness-from-an-image-using-opencv-python-c

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!