Python-OpenCV幅と高さを指定した画像を作成し画像をコピー

pythonコンピュータ
python

画像の内容を拡大せずに幅と高さを大きくしたい。
方法としては希望する幅と高さの画像を作成し、そちらに画像にコピーします。

#!/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)

もっと良い方法がありそうですがとりあえず。

コメント