MATLAB Answers

what is 3d plot?

22 views (last 30 days)
Rey Kelvin Peralta
Rey Kelvin Peralta on 25 Jul 2015
Commented: Rena Berman on 12 Jan 2017
Can anybody help me on how to smooth out edges to make it rounded and fair? i am using MATLAB and i am quite new to this. Thank you.

  4 Comments

Show 1 older comment
Cas Cas
Cas Cas on 25 Jul 2015
What did you use to plot? If you used surf, try this
surf(peaks)
shading interp
Walter Roberson
Walter Roberson on 26 Jul 2015
What is it that you have available to be plotted? Are you working with a rectangular array of data, or do you have a function that you can evaluate to determine additional data points?
Rena Berman
Rena Berman on 12 Jan 2017
(Answers Dev) Restored question.

Sign in to comment.

Answers (1)

Image Analyst
Image Analyst on 26 Jul 2015
You can blur the whole thing with
blurredImage = conv2(data, ones(15), 'same');
If you want to blur just the edges and leave the rest as-is, first blur the whole thing, then find the edges in the original image and replace them with the blurred version. Something like (untested):
blurredImage = conv2(data, ones(15), 'same');
stdImage = stdfilt(data, ones(9));
edgeImage = stdImage > 5; % Whatever value works.
output = data; % Initialize
% Now replace edge pixels with blurred ones.
output(edgeImage) = blurredImage(edgeImage);

  11 Comments

Show 8 older comments
Image Analyst
Image Analyst on 27 Jul 2015
Thanks Walter for the correction. It DOES smooth it, Rey. If you don't notice it then either the window width of 15 is not large enough, or else you're not displaying the right image. You should notice a definite reduction in noise with displaying it with either imshow() or surf().
Rey Kelvin Peralta
Rey Kelvin Peralta on 28 Jul 2015
when you did it sir, did it smoothen the center piece? can you show me please? thanks you
Walter Roberson
Walter Roberson on 28 Jul 2015
The following discussion refers to the original image, not reduced to .2 of original size. The 2800+ by 4800+ image.
Try using
blurredImage = conv2(data,ones(75,75)./(75*75),'same');
surf(blurredImage, 'edgecolor', 'none')
You might need to play slightly with the 75 to get the best result, but it is more than 70 and less than 80, something pretty close to 75. Maybe 73.
The more obvious texture is approximately 74 pixels apart with a width of about 23 pixels, but there is also a 5-division submesh within each larger square, so roughly every 10 pixels. It appears the coin has been photographed through the mesh, which makes it important to remove the mesh first. I do not know the best way to remove a texture.

Sign in to comment.


Translated by