画像の内容を拡大せずに幅と高さを大きくしたい。
方法としては希望する幅と高さの画像を作成し、そちらに画像にコピーします。
#!/usr/bin/env python3
# coding: utf8
#
# 幅と高さを指定した画像を作成し画像をコピー
#
import cv2
import numpy as np
src_file = "00184.jpeg"
# グレイスケールで読み込み
src = cv2.imread(src_file, cv2.IMREAD_GRAYSCALE)
print(src.shape)
# (1200, 846)
# srcより5pixel大きいの画像を作成
size = (src.shape[0] + 5, src.shape[1] + 5)
# 0(黒)で初期化
dst = np.zeros(size, dtype=np.uint8)
# srcからdstへ画像をコピー
dst[0 : src.shape[0], 0 : src.shape[1]] = src
print(dst.shape)
# (1205, 851)
cv2.imwrite("00184_copy.jpeg", dst)
もっと良い方法がありそうですがとりあえず。
コメント