48

RAW 画像を読み取って処理するための Pythonic ソリューションはありますか。生の写真ファイル(cr2やdngなど)にアクセスしてjpegとして出力するだけの場合でも。

理想的には Python の dcraw バインディングですが、これを達成できる他のものでも十分です。

4

6 に答える 6

7

ImageMagickは、ほとんどの RAW 形式をサポートし、 Python バインディングを提供し。

ctypesPython の dcraw バインディングについて: dcraw は C で記述されているため、 moduleからアクセスできます。

于 2011-06-03T11:30:22.700 に答える
4

現在の実装で動作する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コンストラクターを使用して同じことを達成する方法を理解できませんでした.

于 2016-11-20T17:19:22.063 に答える
1

http://libopenraw.freedesktop.org/wiki/GettingTheCode を試してください

Git リポジトリ: git://anongit.freedesktop.org/git/libopenraw.git

ソースツリーに python ディレクトリがあります。;-)

于 2011-06-03T11:25:36.970 に答える
0

私はこれを見つけました:https://gitorious.org/dcraw-thumbnailer/mainline/blobs/master/dcraw-thumbnailer

Python からプロセスとして dcraw を呼び出し、PIL オブジェクトに変換します。

于 2013-05-30T17:27:05.140 に答える
0

Python Imaging Library (PIL http://www.pythonware.com/products/pil/ ) での RAW サポートがどれほど広範囲に及ぶかはわかりませんが、チェックしてみてください。

それ以外の場合は、すでにこの問題をうまく解決しているため、dcraw を直接呼び出すことができます。

于 2010-03-11T14:00:52.393 に答える