Camera Raw

服务器版本:7.0.5

我最近偶然看到Nextcloud有一个预览Camera raw文件的应用,我想这可能有部分人会有这个需求,特别是对于摄影爱好者、摄影从业人员等,之前我也在Seahub开发的时候想过要这个功能,现在我想分享出来。

代码质量并不高,希望能有人给予我一些意见。

从网上查阅资料发现 python 有一个库:rawpy,是专门用来处理Camera raw文件的,但是只支持python3,所以我将他写成一个外部脚本,然后在预览seafile文件的时候去执行这个脚本,生成缓存文件并返回到客户端,之后删除缓存文件,这样就完成了整个转换预览的过程。

由于代码写的并不好,所以没提交Pull Request,后续打算尝试将rawpy这个库移植到seahub里面,这样python2也能用了

import sys
import rawpy
import imageio

if len(sys.argv) != 3:
    print("Invalid argument")
    sys.exit(1)

src_path, dst_path = sys.argv[1:]

with rawpy.imread(src_path) as raw:
    rgb = raw.postprocess(output_bps=16, use_camera_wb=True, bright=1.2)
imageio.imsave(dst_path, rgb)
1 个赞