我希望转换为.jpg的1500万12.8mb的索尼.ARW文件
我将对每一张照片应用相同的设置。
如果我可以调整如何整合Dehaze,似乎ImageMagick应该可以工作,但我似乎不能让ImageMagick工作。
我已经做了基准测试,比较了Lightroom Classic / Photoshop / Bridge / RAW Power /和其他一些程序。Raw Power到目前为止是最快的(在M1 Mac Mini 16 at上),但Raw Power不允许我同时处理多个文件夹。
我用photoshop做了很多脚本/动作--但在这种情况下,photoshop是迄今为止最慢的选择。我相信这是因为它打开了每一张照片。
发布于 2021-03-25 18:41:46
这是200TB的输入图像,甚至没有为输出图像留出任何存储空间。假设你每秒可以处理一张图片,那么这也是173天的24小时/天的处理时间--我对此表示怀疑。
您可能希望与Fred Weinhaus @fmw42谈谈他的Retinex脚本(在该页面上搜索"hazy“),该脚本在去除烟雾方面做得相当出色。你的项目听起来很商业化。

©Fred Weinhaus - Fred's ImageMagick scripts
如果/当你得到一个可以做你想要的脚本时,我会建议你使用GNU Parallel来获得不错的性能。我还认为您可能想要考虑将Fred的算法移植或移植到C++或Python,以便与OpenCV而不是ImageMagick一起运行。
因此,假设您有一个24核的MacPro,以及一个名为ProcessOne的bash脚本,该脚本将索尼ARW图像的名称作为参数,您可以运行:
find . -iname \*.arw -print0 | parallel --progress -0 ProcessOne {}这将在当前目录中递归查找所有索尼ARW文件,并将它们传递到GNU并行中,然后它将使所有24核都处于忙碌状态,直到完成所有工作。您可以指定更少的作业,也可以指定更多的作业与parallel -j 8 ...并行
注意1:您还可以列出网络中其他服务器的名称,这也会将负载分散到这些服务器上。GNU Parallel能够将映像与作业一起传输到远程服务器,但我不得不质疑这样做对此任务是否有意义-您可能希望将映像的子集放在每个具有自己的本地磁盘I/O的服务器上,然后自己独立运行服务器,而不是从全局的单个点进行分发。
注意2::您需要对磁盘进行良好配置,以处理多个并行I/O流。
注意3:如果您确实编写了一个处理图像的脚本,那么编写它以便它接受多个文件名作为参数,然后您可以运行parallel -X,它将传递您的sysctl参数kern.argmax允许的任意多个文件名。这样,您就不需要对每个图像执行完整的bash或OpenCV C/C++进程。
https://stackoverflow.com/questions/66789894
复制相似问题