Чтобы лучше работать с изображением, было бы намного проще прочитать изображение и разбить его на каналы, такие как 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](https://i.stack.imgur.com/9ixHu.jpg)
По предложению @Mike я попробовал
IMG <- as.matrix(IMG)
IMG3 <- array(IMG, dim =c(340,768,3))
Но результат совсем другой. Просьба посмотреть 2 снимка.
![enter image description here](https://i.stack.imgur.com/XDl92.png)
как уже упоминалось, я хотел бы удалить КРАСНЫЙ канал, поэтому результат должен быть таким.
![enter image description here](https://i.stack.imgur.com/JeVii.png)