MATLAB 帮助中心
将矩阵转换为灰度图像
I = mat2gray(A,[amin amax])
I = mat2gray(A)
I = mat2gray(A,[amin amax]) 将矩阵 A 转换为灰度图像 I,该图像包含 0(黑色)到 1(白色)范围内的值。amin 和 amax 是 A 中对应于 I 中 0 和 1 的值。小于 amin 的值裁剪到 0,大于 amax 的值裁剪到 1。
I
A
[amin amax]
amin
amax
I = mat2gray(A) 将 amin 和 amax 的值设置为 A 中的最小值和最大值。
示例
全部折叠
读取一个图像并显示它。
I = imread('rice.png'); figure imshow(I)
执行一种返回数值矩阵的运算。此运算寻找边缘。
J = filter2(fspecial('sobel'),I); min_matrix = min(J(:))
min_matrix = -779
max_matrix = max(J(:))
max_matrix = 560
请注意,矩阵的数据类型 double 的值超出 [0,1] 范围,包含负值。
double
显示运算结果。由于矩阵的数据范围在 imshow 的默认显示范围之外,因此每个正值像素显示为白色,每个负值或零值像素显示为黑色。查看米粒的边缘很有挑战性。
imshow
figure imshow(J)
将矩阵转换为图像。显示图像的最大值和最小值。
K = mat2gray(J); min_image = min(K(:))
min_image = 0
max_image = max(K(:))
max_image = 1
请注意,值的数据类型仍是 double,但所有值都在 [0, 1] 范围内。
显示转换结果。像素显示一系列灰度颜色,这使得边缘的位置更加明显。
figure imshow(K)
输入图像,指定为数值矩阵。
输入黑白值,指定为二元素数值向量。
输入图像 A 中小于或等于 amin 的值映射到强度图像 I 中的值 0。
A 中大于或等于 amax 的值映射到 I 中的值 1。
输出强度图像,以 [0, 1] 范围中的值组成的数值矩阵形式返回。
数据类型: double
全部展开
backgroundPool
ThreadPool
此函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
此函数完全支持 GPU 数组。有关详细信息,请参阅GPU 上的图像处理。
mat2gray 现在支持生成优化的 CUDA® 代码(需要 GPU Coder™)。
mat2gray
mat2gray 现在支持基于线程的环境。
rescale | gray2ind | ind2gray | im2gray
rescale
gray2ind
ind2gray
im2gray
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
欧洲
亚太
联系您当地的办事处