[英]How to get image width and height in pixels without loading file in memory
我的問題與此非常相似,但我在磁盤上有數千張圖像,我想快速讀取它們的寬度和高度(以像素為單位),而無需將每個文件加載到內存中。
在我的 Linux 機器上,我可以為每個文件做這樣的事情:
path_to_file <- 'img/13600061.jpg'
system(sprintf("file %s", path_to_file), intern = TRUE)
但是file
的輸出對於 jpg、jpeg 和 png file
可能有所不同,然后我需要根據文件以不同的方式捕獲像素信息。 我想知道是否已經有一個通用的快速解決方案。
我認為exiftool
適合這里的要求。 它可以在所有平台上運行,非常可控,而且至關重要的是,它可以自行遞歸,因此不會產生每個文件啟動一次的開銷。
作為粗略的第一次嘗試,如果處理 PNG 和 JPEG 並從當前目錄開始向下遞歸,您會想要這樣的東西,即.
exiftool -csv -ImageHeight -ImageWidth -r -ext jpg -ext jpeg -ext png .
樣本輸出
black.png,80,80
blue.png,80,80
c.jpg,1,1
deskew/skew40.png,800,800
deskew/gradient.png,800,800
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.