在这个链接上有一些关于如何做到这一点的公式。该raster
软件包是一种方法。这基本上将 RGB 波段转换为一个黑白波段(它使它的尺寸更小,我猜你想要什么。)
library(raster)
color.image <- brick("yourjpg.jpg")
# Luminosity method for converting to greyscale
# Find more here http://www.johndcook.com/blog/2009/08/24/algorithms-convert-color-grayscale/
color.values <- getValues(color.image)
bw.values <- color.values[,1]*0.21 + color.values[,1]*0.72 + color.values[,1]*0.07
我认为该EBImage
软件包也可以帮助解决此问题(不在 CRAN 上,通过以下方式安装source
:
source("http://bioconductor.org/biocLite.R")
biocLite("EBImage")
library(EBImage)
color.image <- readImage("yourjpg.jpg")
bw.image <- channel(color.image,"gray")
writeImage(bw.image,file="bw.png")