2024-05-17 00:29:14 发布
网友
有没有任何Python解决方案来读取和处理原始图像。即使它只是访问一个原始照片文件(如cr2或dng),然后将其输出为jpeg。
理想情况下,一个用于python的dcraw绑定,但是任何其他能够完成come的东西也足够了。
不久前,我编写了一个名为rawpy的libraw/dcraw包装器。很容易使用:
import rawpy import imageio raw = rawpy.imread('image.nef') rgb = raw.postprocess() imageio.imsave('default.tiff', rgb)
它与numpy阵列一起工作,支持很多选项,包括直接访问未处理的Bayer数据。
ImageMagick支持most RAW formats,并提供Python bindings。
至于Python的dcraw绑定:dcraw是用C编写的,因此您可以通过^{} module访问它。
下面是一种使用rawkit将canon CR2图像转换为友好格式的方法,该方法适用于当前的实现:
import numpy as np from PIL import Image from rawkit.raw import Raw filename = '/path/to/your/image.cr2' raw_image = Raw(filename) buffered_image = np.array(raw_image.to_buffer()) image = Image.frombytes('RGB', (raw_image.metadata.width, raw_image.metadata.height), buffered_image) image.save('/path/to/your/new/image.png', format='png')
在这里使用numpy数组不是很优雅,但至少它是有效的,我不知道如何使用PIL构造函数来实现相同的效果。
不久前,我编写了一个名为rawpy的libraw/dcraw包装器。很容易使用:
它与numpy阵列一起工作,支持很多选项,包括直接访问未处理的Bayer数据。
ImageMagick支持most RAW formats,并提供Python bindings。
至于Python的dcraw绑定:dcraw是用C编写的,因此您可以通过^{} module 访问它。
下面是一种使用rawkit将canon CR2图像转换为友好格式的方法,该方法适用于当前的实现:
在这里使用numpy数组不是很优雅,但至少它是有效的,我不知道如何使用PIL构造函数来实现相同的效果。
相关问题 更多 >
编程相关推荐