目录
mat2gray将矩阵转换为灰度图像
语法
I = mat2gray(A,[amin amax])
I = mat2gray(A)
描述
I = mat2gray(A,[amin amax]) 将矩阵转换为包含0(黑色)到1(白色)范围内的值A的灰度图像 I。 amin和amax中的值 A对应于中的0和1 I。小于的值amin被裁剪为0,大于的值 amax被裁剪为1。
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]范围之外,包括负值。显示操作结果。 因为矩阵的数据范围超出了imshow的默认显示范围,所以每个具有正值的像素都显示为白色,而每个具有负值或零值的像素都显示为黑色。 看到米粒的边缘非常具有挑战性。
J = filter2(fspecial('sobel'),I);
min_matrix = min(J(:))
figure
imshow(J)
将矩阵转换为图像。 显示图像的最大值和最小值。
K = mat2gray(J);
min_image = min(K(:))
min_image = 0
max_image = max(K(:))
max_image = 1
请注意,值仍然是double类型的数据,但是所有值都在[0,1]范围内。显示转换结果。 像素显示一系列灰度颜色,这使边缘的位置更加明显。
K = mat2gray(J);
min_image = min(K(:))
figure
imshow(K)
输入黑白值,指定为2-元素数字矢量。
- 输入图像A中小于或等于amin的值映射到强度图像I中的值0。
- A中大于或等于amax的值映射到I中的值1。
输出强度图像,以数值矩阵形式返回,值在[0,1]范围内。