我读了png文件28x28px,然后选择灰度:
img = readPNG("../Folder/image.png")
pic <- img[,,1]+img[,,2]+img[,,3]
pic <- pic/max(pic)'
result = pic*255
result
现在我尝试在某个文件夹中为更多png文件制作循环:
img = lapply(sprintf("image%i.png", 1:10), png::readPNG) #select 10 png files
pic <- img[,,1]+img[,,2]+img[,,3]
pic <- pic/max(pic)'
result = pic*255
result
但它不起作用:(
img [,,] 1出错:维数不正确
答案 0 :(得分:0)
lapply
会创建一个图片列表,因此在您的情况下,img[[1]]
是第一张图片,而img[[10]]
是第10张图片。尝试循环遍历列表中的每个图像。因此,如果您想对图像1执行添加操作,则需要执行以下操作:
pic <- img[[1]][,,1]+img[[1]][,,2]+img[[1]][,,3]
对列表中的所有项目执行此操作。
img.list <- lapply(sprintf("../Folder/image%i.png", 1:10), png::readPNG) #select 10 png files
results <- list()
for (img in img.list) {
pic <- img[,,1]+img[,,2]+img[,,3]
pic <- pic/max(pic)
results[[length(results)+1]] <- pic*255
}
现在结果是所有图像的结果列表。