Blur kernel estimation and image restoration methods for blind deconvolution