[NumPy]np.tileメソッドで画像をタイル状に繰り返し並べるサンプル

環境
PyCharm 2021.3
Python 3.9.7

書式
1.np.array(Image.open('画像パス’).resize((幅, 高さ)))
size: リサイズ後の大きさ。(幅, 高さ) のタプルで指定します
2.np.tile(画像型NumPy配列, (高さ, 幅, 色数))
np.tile()を利用するとNumPy配列ndarrayとして読み込んだ画像をタイル状に繰り返し並べます。
np.tile()で繰り返すには第二引数repsを(縦の繰り返し数, 横の繰り返し数, 1)とします。

使用例

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
import numpy as np
from PIL import Image
img = np.array(Image.open('C:\\study\\11.png').resize((128, 128)))
print("元の画像の形状の値1")
print(img.shape)
#高さ, 幅, 色数
imgTile = np.tile(img, (2, 3, 1))
print("形状の値2")
print(imgTile.shape)
print("タイル状に並べた画像を保存する")
Image.fromarray(imgTile).save('C:\\study\\11_tile.jpg')
import numpy as np from PIL import Image img = np.array(Image.open('C:\\study\\11.png').resize((128, 128))) print("元の画像の形状の値1") print(img.shape) #高さ, 幅, 色数 imgTile = np.tile(img, (2, 3, 1)) print("形状の値2") print(imgTile.shape) print("タイル状に並べた画像を保存する") Image.fromarray(imgTile).save('C:\\study\\11_tile.jpg')
import numpy as np

from PIL import Image

img = np.array(Image.open('C:\\study\\11.png').resize((128, 128)))
print("元の画像の形状の値1")
print(img.shape)

#高さ, 幅, 色数
imgTile = np.tile(img, (2, 3, 1))
print("形状の値2")
print(imgTile.shape)

print("タイル状に並べた画像を保存する")
Image.fromarray(imgTile).save('C:\\study\\11_tile.jpg')

実行結果

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
元の画像の形状の値1
(128, 128, 3)
形状の値2
(256, 384, 3)
タイル状に並べた画像を保存する
元の画像の形状の値1 (128, 128, 3) 形状の値2 (256, 384, 3) タイル状に並べた画像を保存する
元の画像の形状の値1
(128, 128, 3)
形状の値2
(256, 384, 3)
タイル状に並べた画像を保存する

 

NumPy

Posted by arkgame