【问题标题】:how to extract RGB channels from a jpeg image in R?如何从 R 中的 jpeg 图像中提取 RGB 通道?
【发布时间】:2023-12-24 06:04:01
【问题描述】:

我正在尝试使用 R 在单个绘图上使用“图像”功能显示每个通道。我看到了另一个类似的问题,解决方案是使用 R 中的 biOps 包,但是我无法安装它。还有另一种方法吗?

img <- readJPEG(system.file("img","Rlogo.jpg",package="jpeg"))
str(img)
# num [1:512, 1:512, 1:3] 1 1 1 1 1 1 1 1 1 1 ...

【问题讨论】:

  • 当我加载 pkg:jpeg 并尝试运行该代码时出现错误。请包括正确的library 电话。
  • readJPEG() 返回一个三维数组,其中红色、绿色和蓝色层通过第三个索引进行索引。 (一旦你知道要寻找它,你就可以在str(img) 的结果中看到它。)img[,,1] 得到红色层,img[,,2] 得到蓝色层,等等。image() 将绘制旋转 90逆时针度数。如果你想把它竖起来,做,例如a &lt;- img[,,1]; image(t(a[nrow(a):1L,])).

标签: r jpeg rgb raster


【解决方案1】:

从 Bioconductor 安装 EBImage 包后,试试这个:

image <- readImage('~/path/to/image.jpg')

display(image, method = 'raster')

这将显示原始彩色图像。

colorMode(image) <- Grayscale
display(image, method = 'raster',all = TRUE)

这将显示来自 RGB 通道的 3 张图像。

【讨论】:

    最近更新 更多