how to filter noise/distortion from 3D image?

11 views (last 30 days)
hi. i would like to make 3D kidney in Matlab. .anyone knows how to filter the distortion of this 3D image? So that i am able to create a better 3D image. Thank you.

Accepted Answer

Michelle Wu
Michelle Wu on 26 Sep 2016
From my understanding, you have a 3D image dataset with a lot of distortions, and you would like to smooth it by using some sort of image filtering.
If you are using R2014b or earlier:
The MATLAB function “fspecial” allows you to create predefined 2D filters (like Gaussian, Averaging, etc.) to 2D images. However, the functionality of using "fspecial" or a similar function to 3D images is not available in these MATLAB releases. As a workaround, you can create your own filter for " imfilter ". Alternatively, you can use the filter provided on this webpage: http://www.biomecardio.com/matlab/fspecial3.html#1. Note that the MathWorks does not give any warranty or support for functions provided by third-parties.
If you are using R2015a or later:
You may choose from multiple 3D filtering options from the Image Processing Toolbox, such as "imgaussfilt3" or “medfilt3”, to filter out the noise and distortion in the 3D image. Refer to the doc page for more information about Image Filtering.
  2 Comments
Zaitul
Zaitul on 27 Sep 2016
Dear Michelle, thank you. i'm using R2015a. i tried by using 2D filter. it does working but it wasn't as perfect as it should be. Maybe i should try use image processing toolbox as you mentioned.
Zaitul
Zaitul on 29 Sep 2016
i am using 'imgaussfilt3' and here i attached my coding and figures. how to make the edge of the organ uniform?
a = imread('kidney.jpg'); b = rgb2gray(a); b = im2double(b); c = imgaussfilt3 (b,4); colormap(copper); mesh (c);

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!