Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在R中循环灰度png文件_R_File_Loops_Png - Fatal编程技术网

在R中循环灰度png文件

在R中循环灰度png文件,r,file,loops,png,R,File,Loops,Png,我读取png文件28x28px,然后选择灰度: img = readPNG("../Folder/image.png") pic <- img[,,1]+img[,,2]+img[,,3] pic <- pic/max(pic)' result = pic*255 result img=readPNG(“../Folder/image.png”) piclappy创建了一个图像列表,因此在您的案例中,img[[1]]是第一个图像,img[[10]]是第十个图像。尝试循环浏览列表中的

我读取png文件28x28px,然后选择灰度:

img = readPNG("../Folder/image.png")
pic <- img[,,1]+img[,,2]+img[,,3]
pic <- pic/max(pic)'
result = pic*255
result
img=readPNG(“../Folder/image.png”)

pic
lappy
创建了一个图像列表,因此在您的案例中,
img[[1]]
是第一个图像,
img[[10]]
是第十个图像。尝试循环浏览列表中的每个图像。因此,如果要对图像1执行加法操作,需要执行以下操作:

pic <- img[[1]][,,1]+img[[1]][,,2]+img[[1]][,,3]

pic非常感谢!但我从png特定的3x3矩阵的28x28矩阵中选择,我需要循环通过矩阵,而不是列表。当我将代码从result=c(result,pic*255)更改为result=pic*255时,结果只是一个矩阵,而不是所有矩阵。对不起,应该是固定的。每个第i个图像现在都在
results[[i]]
感谢您的帮助。我很感激。我有一个问题——当我有10个不同的矩阵(10xpng文件28x28px)时,为什么代码中的结果“o”给出10倍相同的矩阵?文件名
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
}