首页 > 解决方案 > 如何创建删除文件的条件?

问题描述

我正在尝试从我的数据文件夹中获取每个图像的像素方差,并在其低于 800 时将其删除。我曾尝试删除数据框中的行或列,但这不适用于列表。这里有人可以帮我解决我在这里做错了什么吗?

library(magick)
library(tidyverse)

Folder <- "......."
images <- list.files(path = Folder, pattern = "*.JPG", full.names = TRUE)

images <- map(images, image_read)




images[$image_variance <= 800.0000,]

标签: rrmagick

解决方案


您可以使用purrr::keep

result <- purrr::keep(images, ~image_variance(.x) > 800)

或以 RFilter为基础,仅在方差大于 800 时保留这些图像。

result <- Filter(function(x) image_variance(x) > 800, images)

推荐阅读