이 작업을 수행하는 방법에 대한 공식은 link입니다. 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
를 통해 설치합니다. 그들이 진정으로 단일 채널 (그레이 스케일) 이미지는 X/Y에서 그 값이 있다면
가
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")
당신이 파일을 읽을 수있는'jpeg' 패키지와'readJPEG'을 사용할 수 있습니다 coord는 0 : 1이 될 것이고 그레이 스케일 레벨과 일치 할 것입니다. – hrbrmstr
@hrbrmstr은 "대부분의"JPEG 파일이 8 비트이므로 f 원하는 경우 '0 : 255'로 '0 : 1'을 씁니다. –