查看单个帖子
旧 2019-12-10, 20:30   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 在MATLAB中加载该PNG时,为什么会得到全黑/灰度图像?

当我运行此代码时:

>> I = imread('D:\Works\matlab\SecCode.php.png','png'); >> imshow(I); 它始终显示全黑图像。它出什么问题了?

我正在使用的图像是这个图像:





回答:

啊,我明白了。问题是您有一个索引图像,并且还需要从imread获取colormap参数。尝试这个:

[I, map] = imread('D:\Works\matlab\SecCode.php.png', 'png'); imshow(I, map); 您可以在此处找到有关MATLAB中不同类型图像的描述。这是一个简短的摘要:
  • 二进制图像 :图像是一个logical数组,其中每个像素的值为0或1。
  • 索引图像图像中的像素将索引存储到一个色彩映射表中,色彩映射表是RGB值的M×3数组。色彩图通常与索引图像一起存储在图像文件中。
  • 强度(灰度)图像 :图像中的每个像素都包含一个代表强度的值。
  • RGB(Truecolor)图像 :图像是一个M×N×3的阵列,其中每个像素都有红色,绿色和蓝色的颜色分量。

更多&回答...
poster 当前离线   回复时引用此帖