首页 > 解决方案 > 有什么方法可以将 RGB/CIElab 值转换为 R 中的图像?

问题描述

我有一个数据框,其中包含像素坐标及其 RGB 和 CIElab 值。

这些值是从某个图像中抽象出来的。在此数据框中更改了一些 RGB/CIElab 值后,我想让“数据”返回“图像”。

我包括一个具有变量 r、g、b、x 和 y 的样本。r、g 和 b 包含每个像素的 RGB 值。x 和 y 表示像素的坐标。

所以基本上,我想用这个数据框创建一个具有三个颜色通道(rgb)的图片。但我不知道如何实施这个过程。从图像中提取 RGB 值很容易。然而,反转这个过程是相当困难的。

           r      g       b     x   y
    1   0.91373 0.72157 0.45098 1   1
    2   0.86275 0.59216 0.21961 2   1
    3   0.84314 0.56471 0.18039 3   1
    4   0.83922 0.56078 0.17647 4   1
    5   0.84314 0.56471 0.18039 5   1
    6   0.84706 0.56863 0.18431 6   1
    7   0.85098 0.57255 0.18824 7   1
    8   0.85490 0.57647 0.19216 8   1
    9   0.85490 0.57647 0.19216 9   1
    10  0.85098 0.57255 0.18824 10  1

更新:

我尝试使用as.cimg功能

my_cimg <- as.cimg(unlist(rgb_image[1:3]), x=length(unique(rgb_image$x)), y=length(unique(rgb_image$y)),cc = 3)

它有效!

谢谢!

标签: r

解决方案


推荐阅读