查看: 90|回复: 7|关注: 0

[已答复] imread读取图片之后,一个纯黑白图得到的竟然是个三维数组,想知道这个数组代表的数字分别是什么

[复制链接]

新手

5 麦片

财富积分


050


2

主题

6

帖子

0

最佳答案
发表于 2019-7-14 23:08:44 | 显示全部楼层 |阅读模式
为什么一个我画的ps的图像,人为白色,背景为黑色,png格式的,用imread读取之后的三维的,黑白图片不应该是二维的吗,而且读取之后的数组里面的像素值全是0,没有255,为什么呀
360截图16571222445690.jpg
360截图16460521456570.jpg

论坛优秀回答者

5

主题

1359

帖子

372

最佳答案
  • 关注者: 112
发表于 2019-7-15 00:33:33 | 显示全部楼层
读取的是truecolor图片吧

A = imread(filename)

Image data, returned as an array.

    If the file contains a grayscale image, then A is an m-by-n array.

    If the file contains an indexed image, then A is an m-by-n array of index values corresponding to the color at that index in map.

    If the file contains a truecolor image, then A is an m-by-n-by-3 array.

    If the file is a TIFF file containing color images that use the CMYK color space, then A is an m-by-n-by-4 array.

The class of A depends on the image format and the bit depth of the image data.
提问请:①准确描述问题②贴代码别贴代码的截图③勿一问多帖或一帖多问④及时反馈⑤看清回复的每个字

新手

5 麦片

财富积分


050


2

主题

6

帖子

0

最佳答案
 楼主| 发表于 2019-7-15 08:18:48 | 显示全部楼层
TouAkira 发表于 2019-7-15 00:33
读取的是truecolor图片吧

truecolor是什么意思?图片是只有纯黑和纯白两个色呀

新手

5 麦片

财富积分


050


2

主题

6

帖子

0

最佳答案
 楼主| 发表于 2019-7-15 08:20:18 | 显示全部楼层
TouAkira 发表于 2019-7-15 00:33
读取的是truecolor图片吧

如何将truecolor变为二维的

论坛优秀回答者

5

主题

1359

帖子

372

最佳答案
  • 关注者: 112
发表于 2019-7-15 08:45:15 | 显示全部楼层
奋斗中的蜗牛 发表于 2019-7-14 20:20
如何将truecolor变为二维的

并不是你看着“这个图片只有黑白两色所以它就是黑白图”啊

这就好比,你看到一张熊猫的黑白图片,于是得出结论“这是用黑白胶卷拍的”,这推理过程显然有问题:用彩色胶卷来拍照,效果跟用黑白胶卷拍看起来一样,但前者的胶卷实际上储存的是三原色信息,而黑白胶卷储存的则是灰度信息。

转灰度用rgb2gray函数
  1. IMG = imread('FileName.jpg');
  2. GrayData = rgb2gray(IMG);
复制代码

提问请:①准确描述问题②贴代码别贴代码的截图③勿一问多帖或一帖多问④及时反馈⑤看清回复的每个字

新手

5 麦片

财富积分


050


2

主题

6

帖子

0

最佳答案
 楼主| 发表于 7 天前 | 显示全部楼层
TouAkira 发表于 2019-7-15 08:45
并不是你看着“这个图片只有黑白两色所以它就是黑白图”啊

这就好比,你看到一张熊猫的黑白图片,于是得 ...

谢谢你

新手

5 麦片

财富积分


050


2

主题

6

帖子

0

最佳答案
 楼主| 发表于 7 天前 | 显示全部楼层

还有个问题,那个你说的熊猫图片里面三维数组的第三维是什么数据

论坛优秀回答者

5

主题

1359

帖子

372

最佳答案
  • 关注者: 112
发表于 6 天前 | 显示全部楼层
奋斗中的蜗牛 发表于 2019-7-16 05:04
还有个问题,那个你说的熊猫图片里面三维数组的第三维是什么数据

上面已经讲过了,m*n*3的数组保存的是三原色信息,等效为三个m*n矩阵的叠加,每个矩阵分别对应图片上各横纵坐标构成点阵的红绿蓝数值
提问请:①准确描述问题②贴代码别贴代码的截图③勿一问多帖或一帖多问④及时反馈⑤看清回复的每个字
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /3 下一条

快速回复 返回顶部 返回列表