Noise Reduction Tools
Hello, I have an image that I would like to do some smoothing over on. Lets say there is a faint red spot on a white background. I would like to apply some algorithm that will smooth over the red with the white pixels surrounding the red pixels. I thought this would be an application for the noise reduction tools ... http://scikit-image.org/docs/dev/auto_examples/plot_denoise.html ... but the picture output looked the same as before. What is the best algorithm for smoothing over pixels by re assigning a pixel value with the average value of the pixels surrounding it? Thank you
Here is the code: import sys, math import numpy as np import matplotlib.pyplot as plt from skimage import io, color, filters, data from skimage.filters import threshold_otsu import matplotlib.image as mpimg from skimage.restoration import denoise_tv_chambolle, denoise_bilateral import skimage rawimg = open('1_A.png') img = mpimg.imread(rawimg) denoised_img = denoise_bilateral(img, sigma_range=0.1, sigma_spatial=15) #denoised_img2 = denoise_tv_chambolle(img, weight=0.1, multichannel=True) plt.imshow(denoised_img1) plt.show() On Thursday, July 30, 2015 at 4:23:34 PM UTC-7, Michael Alonge wrote:
Hello,
I have an image that I would like to do some smoothing over on.
Lets say there is a faint red spot on a white background. I would like to apply some algorithm that will smooth over the red with the white pixels surrounding the red pixels.
I thought this would be an application for the noise reduction tools ...
http://scikit-image.org/docs/dev/auto_examples/plot_denoise.html
... but the picture output looked the same as before.
What is the best algorithm for smoothing over pixels by re assigning a pixel value with the average value of the pixels surrounding it?
Thank you
Hi Michael, did you try to change the value of the sigma_range parameter? 0.1 seems a bit low to me (ie, you only smooth a pixel with values very close to it). You can also try to change the value of the win_size parameter: increasing it will result in more smoothing. Also the bilateral filter is a very good generic-purpose denoising filter, but if you want to start denoising with a function with less parameters, you can try the median filter skimage.filters.median Best, Emmanuelle On Thu, Jul 30, 2015 at 04:26:55PM -0700, Michael Alonge wrote:
Here is the code:
import sys, math import numpy as np
import matplotlib.pyplot as plt from skimage import io, color, filters, data from skimage.filters import threshold_otsu import matplotlib.image as mpimg from skimage.restoration import denoise_tv_chambolle, denoise_bilateral import skimage
rawimg = open('1_A.png') img = mpimg.imread(rawimg)
denoised_img = denoise_bilateral(img, sigma_range=0.1, sigma_spatial=15) #denoised_img2 = denoise_tv_chambolle(img, weight=0.1, multichannel=True)
plt.imshow(denoised_img1) plt.show()
On Thursday, July 30, 2015 at 4:23:34 PM UTC-7, Michael Alonge wrote:
Hello,
I have an image that I would like to do some smoothing over on.Â
Lets say there is a faint red spot on a white background. I would like to apply some algorithm that will smooth over the red with the white pixels surrounding the red pixels.
I thought this would be an application for the noise reduction tools ...
http://scikit-image.org/docs/dev/auto_examples/plot_denoise.htmlÂ
... but the picture output looked the same as before.
What is the best algorithm for smoothing over pixels by re assigning a pixel value with the average value of the pixels surrounding it?
Thank you
Great thank you! I have used some different filters and played around with some parameters. I also have performed a bunch of iterations of these filters to get more dramatic effects. On Thursday, July 30, 2015 at 11:51:33 PM UTC-7, Emmanuelle Gouillart wrote:
Hi Michael,
did you try to change the value of the sigma_range parameter? 0.1 seems a bit low to me (ie, you only smooth a pixel with values very close to it). You can also try to change the value of the win_size parameter: increasing it will result in more smoothing.
Also the bilateral filter is a very good generic-purpose denoising filter, but if you want to start denoising with a function with less parameters, you can try the median filter skimage.filters.median
Best, Emmanuelle
On Thu, Jul 30, 2015 at 04:26:55PM -0700, Michael Alonge wrote:
Here is the code:
import sys, math import numpy as np
import matplotlib.pyplot as plt from skimage import io, color, filters, data from skimage.filters import threshold_otsu import matplotlib.image as mpimg from skimage.restoration import denoise_tv_chambolle, denoise_bilateral import skimage
rawimg = open('1_A.png') img = mpimg.imread(rawimg)
denoised_img = denoise_bilateral(img, sigma_range=0.1, sigma_spatial=15) #denoised_img2 = denoise_tv_chambolle(img, weight=0.1, multichannel=True)
plt.imshow(denoised_img1) plt.show()
On Thursday, July 30, 2015 at 4:23:34 PM UTC-7, Michael Alonge wrote:
Hello,
I have an image that I would like to do some smoothing over on.
Lets say there is a faint red spot on a white background. I would
like to
apply some algorithm that will smooth over the red with the white
pixels
surrounding the red pixels.
I thought this would be an application for the noise reduction tools
...
http://scikit-image.org/docs/dev/auto_examples/plot_denoise.html
... but the picture output looked the same as before.
What is the best algorithm for smoothing over pixels by re assigning
a
pixel value with the average value of the pixels surrounding it?
Thank you
participants (2)
-
Emmanuelle Gouillart
-
Michael Alonge