Pythonが画像データを読み出す一般的な方法


画像の読み取りと記憶方法
1.opencv-python
import cv2

# read image, return np.array with BGR
raw_image = cv2.imread("panda.jpg")
# BGR to RGB
image_rgb = cv2.cvtColor(raw_image,cv2.COLOR_BGR2RGB)
# image resize
image_resize = cv2.resize(raw_image, (128, 128))
# save image
cv2.imwrite("new_panda.jpg", image_resize)

2.PIL:読み取れるが、この方法は推奨されない
import numpy as np
from PIL import Image
import matplotlib.pyplot as plt
%matplotlib inline

# read image
raw_image = Image.open("panda.jpg")
# image resize
image_resize = raw_image.resize((128, 128))
# image to array
image_array = np.array(image_resize)
# array to image
image_output = Image.fromarray(image_array)
# save image
image_output.save("new_panda.jpg")

plt.imshow(raw_image)
plt.axis("off")
plt.show()

3. Scikit-image
scikit-imageはscipyベースの画像処理パッケージで、機能が非常にそろっていて、お勧めです!
from skimage import io
 
img=io.imread('cat.jpg')
io.imshow(img)
 
io.imsave('cat1.jpg',img)