Wandを使用してpdfファイルを画像に変換しています。次に、ndimage を使用してさらに画像処理を行います。
Wand イメージを ndarray に直接変換したいのですが、ここで答えを見ましたが、OpenCV を使用しています。これは OpenCV を使用せずに可能ですか?
とりあえず一時ファイルを保存し、scipy.misc.imread() で再度開きます。
次のようにバッファを使用できます。
import cStringIO
import skimage.io
from wand.image import Image
import numpy
#create the image, then place it in a buffer
with Image(width = 500, height = 100) as image:
image.format = 'bmp'
image.alpha_channel = False
img_buffer=numpy.asarray(bytearray(image.make_blob()), dtype=numpy.uint8)
#load the buffer into an array
img_stringIO = cStringIO.StringIO(img_buffer)
img = skimage.io.imread(img_stringIO)
img.shape
MrMartinの答えのPython3バージョンは次のとおりです
from io import BytesIO
import skimage.io
from wand.image import Image
import numpy
with Image(width=100, height=100) as image:
image.format = 'bmp'
image.alpha_channel = False
img_buffer = numpy.asarray(bytearray(image.make_blob()), dtype='uint8')
bytesio = BytesIO(img_buffer)
img = skimage.io.imread(bytesio)
print(img.shape)