Answers:
没有标准可以做到这一点。
您需要某种脚本,这些脚本会定期在文件夹中运行,并将不符合您条件的文件移动到“已拒绝”文件夹中。
最简单的方法可能是使用ImageMagick编写脚本。
这是一组(免费)命令行实用程序,用于图像转换和/或操作。那里有一些命令可以查询许多不同图像格式的图像的大小/分辨率和色系。
ImageMagick的“ identify”命令可能会最有用。
例如:
$ identify rose.jpg
rose.jpg JPEG 640x480 sRGB 87kb 0.050u 0:01
提示:
ExifTool可用于Windows,并将根据元数据愉快地移动或复制文件。
物有所值:“ DPI”仅对打印或扫描的图像有效。标记为“ DPI”的元数据值可以通过使用Exiftool进行更改-与在计算机上查看文件无关,也与手头图像的“质量”无关。
注意:许多较旧且可能较新的傻瓜相机也默认设置为72 DPI,无法在相机中更改
例如,Photoshop以与该值相关的大小显示图像的事实仅仅是“牛”,这是开发人员的想法。您需要做的就是记录一个将DPI值设置为300或更大(Resize image
)的“操作”,该操作只需几分之一秒即可运行,并且图像保持“原样”。只要确保取消[v] Resample image
。从那时起,PS将跳过“公牛”到合理的水平。
sortimages.bat
包含此单行的文件。
@exiftool -jfif:Xresolution = 300 -jfif:Yresolution = 300 -r -d .. \ SortedPictures \%Y \%Y-%m-%d _ %% f。%% e“ -filename <createdate”%1
确保将其保存在PATH变量中存在的目录中。或;C:\cmd-utils\
在路径末尾添加例如,创建目录,将bat文件放置在目录中。
下载Exiftool.exe并将其放置在同一目录中。
当您开始cmd.exe
运行bat文件时,将很简单sortimages
。
从那时起
cd /d DIR_WHERE_YOUR_IMAGES_LIVE
跟随
sortimages *.*
意志;
a)将所有图像的分辨率元数据重置为300 DPI,
b)将图像复制到名为SortedPictures
-dir-tree(= parent dir,避免与当前作业冲突)中的一步的文件夹中。
每张图像将被放置到子文件夹中以进行拍摄,并具有一个反映其拍摄日期和时间的文件名。
轻微警告:这不是万无一失的,例如,元数据中没有创建日期的图像将不会放置在新目录中;它们将重置分辨率值并将其复制到原始文件名,并且原始文件将保留在原位,并在名称后添加一个附加的“原始”字样。
阅读更多信息:
https : //raspberrypi.stackexchange.com/a/14359/17854
我想使用ImageMagick更改DPI,而不更改图像数据的实际字节大小
Exiftool- http: //www.sno.phy.queensu.ca/~phil/exiftool/
exiftool -p '$Filename - $ImageSize' *.*
将在一个简单的表格中打印文件名和图像大小。
使用bash
Shell 在Linux或www.cygwin.com中自动拒绝
单行执行...(确保所有行都;
没有前导空格)
exiftool -p'$文件名$ ImageWidth $ ImageHeight'* .jpg | (同时读取fwh;如果[[$ w“ -gt” $ h“];然后t =” $ h“; h =” $ w“; w =” $ t“; fi;回显” $ f $ h “;如果[[$ h” -lt“ 1800”];然后mv“ $ f”“ REJECTED_ $ f”; fi;完成)
或作为简短的脚本²:
#!/ bin / bash exiftool -p'$文件名$ ImageWidth $ ImageHeight'* .jpg \ | ( 在阅读时 做 如果[“ $ w” -gt“ $ h”]; 然后 t =“ $ h” h =“ $ w” w =“ $ t” 科幻 回声“ $ f $ h” 如果[“ $ h” -lt“ 1800”]; 然后 mv“ $ f”“ REJECTED_ $ f” 科幻 完成)
²要创建它;拾取notepad
或nano
键入,另存为文件。这样做chmod 755 filename
,它将像任何可执行文件一样运行。