【Mathematica入门】读取图片的一个问题

 时间:2026-02-14 19:23:33

1、用QQ截取一张图片。我就现截现用了。

载入到Mathematica里面:

img=下图;

【Mathematica入门】读取图片的一个问题

2、把图片转化为数据:

a=ImageData[img];

再把数据转化为图片:

Image[a]

【Mathematica入门】读取图片的一个问题

3、上面的图片变色了。这是怎么回事呀?

原来,QQ截图得到的是一个4通道图片,这四个通道是R、G、B通道和控制透明度的第四个通道。但是,当把四通道数据转化为图片的时候,Mathematica默认使用CMYK的色彩空间,而不是RGBA的色彩空间。

想要获得和原图看起来一样的效果,第一种方法是指定色彩空间:

Image[a,ColorSpace->"RGB"]

【Mathematica入门】读取图片的一个问题

4、第二个办法是,从图像数据里面提取前三个通道,这样,Mathematica默认使用RGB色彩空间。

b=a[[All,All,;;3]];

【Mathematica入门】读取图片的一个问题

5、第三个方法是,栅格化原图,强制性的把四通道图片转化为三通道图片。这样,图像与数据的相互转化,就不会出现变色的情况了。

img0=Rasterize[img];

【Mathematica入门】读取图片的一个问题

6、原图的反色图片,将看不到任何内容。

1-img

你知道这是什么原因吗?

【Mathematica入门】读取图片的一个问题

7、Image[ImageData[1-img]]

【Mathematica入门】读取图片的一个问题

8、真正的反色图片是:

Image[1-ImageData[img][[All,All,;;3]]]

或者

1-Rasterize[img]

或者

Image[1-ImageData[img],ColorSpace->"RGB"]

【Mathematica入门】读取图片的一个问题

  • Mathematica新建、保存与打开
  • Mathematica数据可视化:[36]图形旋转
  • Mathematica经验与技巧:[8]文本数据导入导出
  • 用Mathematica修改图片大小
  • Mathematica经验与技巧:[5]绘图风格的设定
  • 热门搜索
    哈尔滨雪乡旅游攻略 顺义旅游景点 九月份适合去哪里旅游 星辉旅游 陕西旅游景点介绍 北京到三亚旅游 寒山寺旅游攻略 长海县旅游攻略 重庆三日游旅游攻略 山东冬季旅游