mat2im

版本 1.4.0.0 (2.1 KB) 作者: Rob Campbell
Convert 2D matrix to a 3D image matrix as used by the image processing toolbox
2.6K 次下载
更新时间 2010/8/15

查看许可证

This code snippet converts a 2D matrix to a 3D matrix where the values in the 3rd dimension correspond to pixel intensity in the red, green, and blue domains. This is the format used by many functions in the Image Processing Toolbox (which is not required for this function to run).

The code works by mapping the values of matrix "mat" onto the rows of colormap "cmap" using a fast vectorised operation.

function im=mat2im(mat,cmap,maxVal)

PURPOSE
Uses vectorized code to convert matrix "mat" to an m-by-n-by-3
image matrix which can be handled by the Mathworks image-processing
functions. The the image is created using a specified color-map
and, optionally, a specified maximum value. Note that it discards
negative values!

INPUTS
mat - an m-by-n matrix
cmap - an m-by-3 color-map matrix. e.g. hot(100). If the colormap has
few rows (e.g. less than 20 or so) then the image will appear
contour-like.
limits - by default the image is normalised to it's max and min values
so as to use the full dynamic range of the
colormap. Alternatively, it may be normalised to between
limits(1) and limits(2). Nan values in limits are ignored. So
to clip the max alone you would do, for example, [nan, 2]


OUTPUTS
im - an m-by-n-by-3 image matrix


Example 1 - combine multiple color maps on one figure
clf, colormap jet, r=rand(40);
subplot(1,3,1),imagesc(r), axis equal off , title('jet')
subplot(1,3,2),imshow(mat2im(r,hot(100))) , title('hot')
subplot(1,3,3),imshow(mat2im(r,summer(100))), title('summer')
colormap winter %changes colormap in only the first panel

Example 2 - clipping
p=peaks(128); J=jet(100);
subplot(2,2,1), imshow(mat2im(p,J)); title('Unclipped')
subplot(2,2,2), imshow(mat2im(p,J,[0,nan])); title('Remove pixels <0')
subplot(2,2,3), imshow(mat2im(p,J,[nan,0])); title('Remove pixels >0')
subplot(2,2,4), imshow(mat2im(p,J,[-1,3])); title('Plot narrow pixel range')

Rob Campbell - April 2009

See Also: ind2rgb

引用格式

Rob Campbell (2024). mat2im (https://www.mathworks.com/matlabcentral/fileexchange/26322-mat2im), MATLAB Central File Exchange. 检索来源 .

MATLAB 版本兼容性
创建方式 R2009a
兼容任何版本
平台兼容性
Windows macOS Linux
类别
Help CenterMATLAB Answers 中查找有关 Import, Export, and Conversion 的更多信息
致谢

参考作品: real2rgb & colormaps

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
版本 已发布 发行说明
1.4.0.0

Fixed bug that stopped the image being correctly scaled if user specified max or min values outside of the image range.

1.3.0.0

Switch to 1 based indexing if mat is not a double.

1.2.0.0

Add H1 line, add ability clip at min or max values, improve error checking, improve comments, add a second example.

1.1.0.0

Image Processing tlbx isn't required.

1.0.0.0