2025.8.10 画像サイズ変更【cv2】
shape 属性で ndarrayやtensorの次元を調べると、各次元のサイズが低次元から順に出力される。ここで配列を画像と見做すと、
0次元=タテ、1次元=ヨコなので(タテ、ヨコ)の順にサイズが表示されることになる。reshapeでの形状指定もこの順序だ。
code:p.py
import numpy as np
x = np.arange(12).reshape(3, 4)
print(x.shape)
print(x)
'''
(3, 4) <--- タテ、ヨコの順に見える
'''
これに対して、cv2で画像サイズを指定する際は(ヨコ、タテ)の順となる。
code:p.py
import cv2
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(18).reshape(3, 6).astype(np.float32)
print(x)
yoko = 8
tate = 4
y = cv2.resize(x, (yoko, tate)) # <--- サイズ指定に注目
print(y.shape)
print(y)
plt.subplot(2,1,1)
plt.imshow(x)
plt.subplot(2,1,2)
plt.imshow(y)
plt.show()
'''
(4, 8)
'''
タテ/ヨコというよりも、