Figure to Image pixel conversions
2 views (last 30 days)
Show older comments
If I plot a 100x100 matrix as a surface plot then save it as a jpg or png, then open the jpg/png, the pixel count is a lot different than the 100x100 values I had in the figure (or surface plot).
My question is how does matlab convert between the two (figure/surface plot to image)? I am assuming this probably has nothing to do with the original 100x100 matrix but instead the size of the figure (or surface plot) when it is saved as an image is what matters.
1 Comment
Geoff Hayes
on 29 Apr 2020
matthias - please include your code that shows how you are saving the plot (to file). If you are saving it as a figure, do you see the figure (menu, axes, etc.) in the jpg/png when you open it?
Answers (1)
Vinai Datta Thatiparthi
on 1 May 2020
Hello Matthias,
When you try to plot a [100 x 100] data into a surface plot (say, using the function surf), and then store it into an image format (say, .jpg), when you try to load this image into MATLAB again, you will not see the same data as the original [100 x 100] data that you tried to plot.
When you're plotting a surface plot, the values within the matrix correspond to the data that is plotted, but when you save it into an image, the pixel values do not correspond to the data points, but instead to other aspects of an image, such as the color (surface color when plotting with surf), axes, coordinates, etc. The .jpg image is stored as a UINT8 3D matrix. The values stored in these two (surface plot figure and the image) are simply not the same, and do not point to the same data in the first place.
If you want to get the same data, I suggest you store it in the form of a .mat file instead. That way, when you load the .mat file into your workspace again, you get the same exact values.
Hope this helps!
0 Comments
See Also
Categories
Find more on Surface and Mesh Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!