生活百科知识

经验知识首页 > 桌游 > 详细经验讲解内容页

[视频]【Mathematica入门】读取图片的一个问题

关于明星大侦探【Mathematica入门】读取图片的一个问题,期待您的经验分享,你无异于雪中送炭,让我感激涕零 !
无情天魔精致 2018-11-11 10:21:53 35221人看过 分享经验到微博

更新:2024-03-23 07:28:10优质经验

来自百度https://www.baidu.com/的优秀用户无情天魔精致,于2018-11-11在生活百科知识平台总结分享了一篇关于“【Mathematica入门】读取图片的一个问题300英雄”的经验,非常感谢无情天魔精致的辛苦付出,他总结的解决技巧方法及常用办法如下:

今天,我用Mathematica读取了一个图片,再把图片转化为数据,然后把数据转化为图片,结果图像的颜色变了。下面,我就把这个过程展示一下,并指出其中的原因。

工具/原料

电脑Mathematica

方法/步骤

1/8分步阅读

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

载入到Mathematica里面:

img=下图;

[图]2/8

把图片转化为数据:

a=ImageData[img];

再把数据转化为图片:

Image[a]

[图]3/8

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

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

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

Image[a,ColorSpace->"RGB"]

[图]4/8

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

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

[图]5/8

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

img0=Rasterize[img];

[图]6/8

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

1-img

你知道这是什么原因吗?

[图]7/8

Image[ImageData[1-img]]

[图]8/8

真正的反色图片是:

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

或者

1-Rasterize[img]

或者

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

[图]

编辑于2018-11-11,内容仅供参考并受版权保护

经验备注

我发现了这篇经验很有用:你也认同《【Mathematica入门】读取图片的一个问题》的经验分享有价值,就请和朋友们一起分享吧。另外,【Mathematica入门】读取图片的一个问题的经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。经验知识实用生活指南-解决你所有的生活难题!未经许可,谢绝转载。

本文网址:https://www.5058.cn/article/7f766dafef8e274101e1d086.html

下一篇