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

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

工具/原料

  • 电脑
  • Mathematica

方法/步骤

  1. 1

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

    载入到Mathematica内里:

    img=下图;

    f11f54237971fe1d6df621acea20a7cd0d6ee087.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1%2Fformat%2Cf_auto%2Fquality%2Cq_80
  2. 2

    把图片转化为数据:

    a=ImageData[img];

    再把数据转化为图片:

    Image[a]

    bab5c45872dade496920b2e326042e6816e9d587.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1%2Fformat%2Cf_auto%2Fquality%2Cq_80
  3. 3

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

    本来,QQ截图获得的是一个4通道图片,这四个通道是R、G、B通道和矿始节制透明度的第四个通道。可是,当把四通道数据转化为图片的时辰,Mathematica默认利用CMYK的色彩空间,而不是RGBA的色彩空间。

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

    Image[a,ColorSpace->"RGB"]

    d9a8d2d2bb665159936f299f8fe23ea23b42c787.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1%2Fformat%2Cf_auto%2Fquality%2Cq_80
  4. 4

    第二个措施是,从图像数据内里提取前三个通道,这样,Mathematica默认利用RGB色彩空间。

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

    ed792abb19efa25f2e3bfbce59828689a0463b84.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1%2Fformat%2Cf_auto%2Fquality%2Cq_80
  5. 5

    第三个要领是,栅格化原图,强制性的把四通道图片转化为三通道图片。这样,图像与数据的彼此转化,就不会矿披呈现变色的环境了。

    img0=Rasterize[img];

    35f2224133bad3412c52d882427622bc7cc52c84.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1%2Fformat%2Cf_auto%2Fquality%2Cq_80
  6. 6

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

    1-img

    您知道这是什么缘故原由吗?

    04d7a614f4d0b503f3fd7f4bcc4ec28332bf2084.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1%2Fformat%2Cf_auto%2Fquality%2Cq_80
  7. 7

    Image[ImageData[1-img]]

    fb738d9c2cf7dfb29636f799d01b1edef5dc1384.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1%2Fformat%2Cf_auto%2Fquality%2Cq_80
  8. 8

    真正的反色图片是:

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

    或者

    1-Rasterize[img]

    或者

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

    125ed0ecd3d96975a6ebd52cd243040149fe0984.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1%2Fformat%2Cf_auto%2Fquality%2Cq_80END
  • 发表于 2022-08-23 21:32
  • 阅读 ( 186 )
  • 分类:其他类型

相关问题

0 条评论

请先 登录 后评论