Как собрать data.frame обратно в массив при обработке изображения? - PullRequest
0 голосов
/ 29 октября 2018

Чтобы лучше работать с изображением, было бы намного проще прочитать изображение и разбить его на каналы, такие как RGB. Но когда манипуляция закончена, я просто не знаю, как заново собрать data.frame обратно в массив изображений. Пожалуйста, сообщите.

library(jpeg)
library(magrittr)
IMG <- readJPEG("r-logo.jpg") %>% melt %>% dcast(Var1+Var2~Var3, value.var="value")  #read the image file in, and break it as data.frame.
names(IMG) <- c("W", "H", "R", "G", "B") # identify the columns

IMG$B <-0  # image manipulation, say, remove the BLUE channel.

 head(IMG)
#   W H R G B
# 1 1 1 1 1 0
# 2 1 2 1 1 0
# 3 1 3 1 1 0
# 4 1 4 1 1 0
# 5 1 5 1 1 0
# 6 1 6 1 1 0

Как я могу сделать измененный IMG data.frame обратно в класс массива, чтобы я мог сохранить его обратно? Большое спасибо.

enter image description here

По предложению @Mike я попробовал

IMG <- as.matrix(IMG) 
IMG3 <- array(IMG, dim =c(340,768,3))

Но результат совсем другой. Просьба посмотреть 2 снимка. enter image description here enter image description here

как уже упоминалось, я хотел бы удалить КРАСНЫЙ канал, поэтому результат должен быть таким. enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...