How do I smoothen an imagesc plot?
Show older comments

This plot has alot of noise. I mean the light blue lines are more than normal and i need to smoothen it. I used the smooth function but that does not work properly. I want to make it look like the image below.

Please help.
7 Comments
KSSV
on 22 Nov 2020
Samyak Kumar
on 22 Nov 2020
KSSV
on 22 Nov 2020
Why you are using a loop? You apply it to the complete image. Read the documentation.
Samyak Kumar
on 22 Nov 2020
Image Analyst
on 22 Nov 2020
As per my answer below, waiting for you to upload it. And, a 2-D matrix can be considered as a matrix. Do you have the Image Processing Toolbox? Type ver to check?
Samyak Kumar
on 22 Nov 2020
Samyak Kumar
on 22 Nov 2020
Answers (1)
Image Analyst
on 22 Nov 2020
You could threshold the image and then use bwareaopen() or bwareafilt() to find small blobs and set them to zero.
% Get mask of blobs above the background level.
mask = grayImage < someValue;
% Get a mask of only the small blobs
smallBlobs = bwareafilt(mask, [1, smallestAcceptableArea]);
% Erase image by setting small regions equal to the min value
grayImage(mask) = min(grayImage(:));
You, of course, need to determine the values of someValue and smallestAcceptableArea.
Attach your original gray scale image (not a pseudocolor image in a screenshot like you did) if you need more help.
1 Comment
Samyak Kumar
on 22 Nov 2020
Categories
Find more on Image Arithmetic in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!