MATLAB: Grainy GreyScale Image

datagraphimage analysisimage processingMATLAB and Simulink Student Suite

The first image is a screenshot of some data in jpeg format. I converted this into greyscale and applied medfilt2() to try to reduce noise in image 2. In Image 3 I converted all the white points to red and it shows there is alot more than I thought there would be.
I am basically trying to convert the screenshot into a graph where I can interpret the data.
Are any ways to improve the process?
Thanks

Best Answer

To remove noise from image you can try different noise removal functions in MATLAB.
You can find filtering functions here : https://www.mathworks.com/help/images/noise-removal.html
You can also try Bilateral Filtering if above functions fails to give desired results. Find its implementation here: https://www.mathworks.com/matlabcentral/fileexchange/12191-bilateral-filtering
You can consider extracting curvature of the image using bwboundaries, you can find code for the same here : https://www.mathworks.com/matlabcentral/answers/164349-how-to-calculate-the-curvature-of-a-boundaries-in-binary-images
I have tried the same code for your image, and I have attached the result after passing your image as an input.
Hope this helps!