我读过这样的图像
a = imread('test.jpg');
image(a)
test.jpg是什么:
但是在图像功能之后
结果是:
我不知道为什么会这么说?
因为我想裁剪一些部分,所以我必须看到显示的图像。
如何通过图像显示人脸来修复它?
答案 0 :(得分:1)
您正在使用image
命令显示图像。从here:“图像通过将矩阵中的每个元素解释为图形颜色图的索引或直接作为RGB值来创建图像图形对象”。由于您提供的是二维矩阵,因此每个元素都被解释为图形色彩映射的索引。您可以使用
c_map=colormap;
此外,轴设置为方形,因此您可以看到圆形而不是椭圆形。使用imshow(a,[])
根据需要显示灰度图像。
答案 1 :(得分:0)
您的图像数据可能位于颜色地图中。试试[a,cmap] = imread(...)
。如果cmap不为空,a
是cmap
的索引,cmap
包含实际颜色。
使用img = cat(3,cmap(a,1),cmap(a,2),cmap(a,3))
获取您的图片,并使用image(img)
进行展示。
请注意,在这种情况下使用imagesc
可能会产生误导,因为在执行imagesc(a)
时,它仍会显示与您的图像相似的内容。这是因为不同的像素颜色与a
中的不同索引值相关联。