Python implementation of Peter Kovesi's Phase Preserving Denoising of Images[1]. This script is completely based on Peter Kovesi's Matlab script, refer original author's website for more information.
from ppdenoise import ppdenoise
from skimage import io, img_as_float
import matplotlib.pyplot as plt
img = img_as_float(io.imread("sample.jpg", as_gray=True))
img_denoised = ppdenoise(img)
plt.figure()
plt.subplot(121)
plt.title("original image")
plt.imshow(img, cmap="gray")
plt.subplot(122)
plt.title("Denoised image")
plt.imshow(img_denoised, cmap="gray")
plt.show()
[1]
Peter Kovesi, "Phase Preserving Denoising of Images".
The Australian Pattern Recognition Society Conference: DICTA'99.
December 1999. Perth WA. pp 212-217