ggplot2で五代目住職

MacSnow Leopardで画像処理ができるRのパッケージって意外と少ない。rimageもbiOpsもEBImageも使えない。なんかないかと探してたらReadImagesなるものを発見したので使ってみる。

library(ReadImages)
library(ggplot2)

data <- read.jpeg("14.jpg") #画像ファイルを指定
data #imagematrixに変換されていることを確認
data <- rgb2grey(data) #グレースケールに変換(ただし反転している)
d <- data.frame(matrix(data, ncol=84)) #imagematrixを行列に変換してデータフレームに変換

#ここからはごにょごにょとしたデータ整形
d$id <- row.names(d)
dm <- melt(d)
dm <- melt(d)
colnames(dm) <- c("row","col","grey")
dm$row <- as.numeric(dm$row)*(-1)
dm$col <- as.numeric(gsub("X", "", dm$col))
dm$grey <- -(dm$grey - 1) #反転を元に戻す

p <- ggplot(data=dm, aes(x=col, y=row)) + geom_tile(aes(fill=grey)) + scale_fill_gradient(low="white", high="black") 

png("14.png")
print(p)
dev.off()

結果はこんな感じ(本当は宮崎あおいの画像を上げたかった…)。