以前は、ファイルからndarrayに画像を直接ロードするscipyを使用していました。
from scipy import misc
img = misc.imread('./myimage.jpg')
type(img)
>>> numpy.ndarray
しかし、今ではDeprecationWarning
と ドキュメントによると1.2.0で削除されるとのことです。 なので、代わりにimageio.imreadを使用する必要があります。だが:
import imageio
img = imageio.imread('./myimage.jpg')
type(img)
>>> imageio.core.util.Image
私はそれを行うことによってそれを変換することができます
img = numpy.array(img)
しかし、これはハッキーのようです。以前にscipyのmisc.imread
で行っていたように(OpenCVを使用する以外に)画像を直接numpy配列にロードする方法はありますか?
_imageio.imread
_の結果はすでにNumPy配列です。 _imageio.core.util.Image
_は、主に存在するndarrayサブクラスであるため、配列は画像メタデータを保持するmeta
属性を持つことができます。
正確に_numpy.ndarray
_型のオブジェクトが必要な場合は、asarray
を使用できます。
_array = numpy.asarray(img)
_
numpy.array(img)
とは異なり、これはimg
のデータをコピーしません。