如何批量提取文件夹中图片的宽高并生成表格?
解决方案:用
magick包批量提取图片尺寸 步骤1:加载所需包
需要magick配合dplyr和purrr实现批量处理:
library(magick) library(dplyr) library(purrr)
步骤2:获取文件夹内所有图片路径
假设图片存放在"rooster_images/"文件夹,先筛选出所有PNG格式文件的完整路径:
img_paths <- list.files(path = "rooster_images/", pattern = "\\.png$", full.names = TRUE)
步骤3:批量提取宽高信息
用map_df循环处理每张图片,从图片像素数据中提取尺寸,直接整理成表格:
img_dimensions <- map_df(img_paths, function(path) { img <- image_read(path) info <- image_info(img) tibble( 文件名 = basename(path), 宽度 = info$width, 高度 = info$height ) })
步骤4:查看或导出结果
img_dimensions就是包含所有图片宽高的表格,可直接查看或导出为CSV:
# 查看前5条数据 head(img_dimensions, 5) # 导出到本地CSV文件 write.csv(img_dimensions, "图片尺寸汇总.csv", row.names = FALSE, fileEncoding = "UTF-8")
方法说明
这个方案不需要依赖EXIF数据——image_info是直接读取图片的像素元数据获取宽高,刚好适配你EXIF被清除的场景;借助purrr的批量映射,自动完成500张图片的循环处理,不用手动逐个调用image_read。
内容的提问来源于stack exchange,提问作者zappbran
相关产品推荐
相关产品推荐

