This function makes it easy to display a mesh directly above a grayscale image. The mesh can use any colormap and can be at variable heights above the image. The example, which requires the IPT, is the screenshot.
function meshCanopy: display a mesh above a grayscale image
-11/22/2010: Added example (requires IPT)
Added height input argument
-I: 2-dimensional grayscale image slice. The values are expected to
range from 0 to 255. If the maximum value is greater than 255 or
the minimum value is less than 0, it will be scaled to 0:255. Else
it will remain unchanged.
-Mdata: 2-dimensional mesh data (Z for a meshplot).
NOTE: the mesh command will be called with:
>>[ii jj] = meshgrid(ceil(cumsum(diff([0 linspace(1,size(I,2),size(Mdata,2))]))),ceil(cumsum(diff([0 linspace(1,size(I,1),size(Mdata,1))]))));
and thus does not need to be the same size as the image!
-Mmap: string, function_handle or nx3, mesh color map. See:
for valid options. The argument is optional and defaults to 'jet'
Examples: 'jet', @jet, [0 0 1; 0.5 0;.1 .1 .1]
-height: scalar height of the mesh above the image so you can see both.
Optional defaults to 80.
Example: (Requires the Image Processing Toolbox)
%Display a Mesh Canopy of a standard deviation image, above the original image
I = imread('cameraman.tif');
M = stdfilt(I);
See also: mesh colormap
Sean de (2020). meshCanopy (https://www.mathworks.com/matlabcentral/fileexchange/29485-meshcanopy), MATLAB Central File Exchange. Retrieved .
Can you create a colorbar for the data in the mesh that is created, and not consider the flat 2d image? I am trying to get a colorbar that represents the data of the "floating" mesh.
Great, I liked it a lot.
-Is it possible to convert the mesh into surface or to make the mesh very "condense". It will generate a better output "without" white spots in the mesh.
-How can I change the gray background into white.
Very nice plot and works well.
How can I add the meshCanopy output in a subplot?. I tried and it did not work.