用QQ截取一张图片趴购各。我就现截现用了。
载入到Mathematica内里:
img=下图;
把图片转化为数据:
a=ImageData[img];
再把数据转化为图片:
Image[a]
上面的图片变色了。这是怎么回事呀?
本来,QQ截图获得的是一个4通道图片,这四个通道是R、G、B通道和矿始节制透明度的第四个通道。可是,当把四通道数据转化为图片的时辰,Mathematica默认利用CMYK的色彩空间,而不是RGBA的色彩空间。
想要得到和原图看起来一样的效果,第一种要领是指定色彩空间:
Image[a,ColorSpace->"RGB"]
第二个措施是,从图像数据内里提取前三个通道,这样,Mathematica默认利用RGB色彩空间。
b=a[[All,All,;;3]];
第三个要领是,栅格化原图,强制性的把四通道图片转化为三通道图片。这样,图像与数据的彼此转化,就不会矿披呈现变色的环境了。
img0=Rasterize[img];
原图的反色图片,将看不到任何内容。
1-img
您知道这是什么缘故原由吗?
Image[ImageData[1-img]]
真正的反色图片是:
Image[1-ImageData[img][[All,All,;;3]]]
或者
1-Rasterize[img]
或者
Image[1-ImageData[img],ColorSpace->"RGB"]
END0 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!