copyMakeBorder
関数を使用してこれを行うことができます。dotnet はわかりません。以下は python のサンプル コードです。上記の機能のドキュメントも参照してください: DOCS
最初に 2 つの画像を読み込みます。imb
が大きい画像、ims
が小さい画像です。
import cv2
import numpy as np
imb = cv2.imread('messi4.jpg')
ims = cv2.imread('template.jpg')
rb,cb
大きな画像の行数と列数を とし、小さな画像についても同様ですrs,cs
。
rb,cb = imb.shape[:2]
rs,cs = ims.shape[:2]
最後に、copyMakeBorder
関数を使用するには、上下左右に追加する行と列の数が必要です。したがって、それらを見つける必要があります。
top = (rb-rs)/2
bottom = rb - rs - top
left = (cb-cs)/2
right = cb - cs - left
最後に関数を適用します。
res = cv2.copyMakeBorder(ims,top,bottom,left,right,cv2.BORDER_CONSTANT)
結果を見てみましょう:
元の小さい画像:

変更された新しい画像:

私の大きな画像と同じサイズです(ここには表示されていません。必要ないと思います。必要に応じてアップロードできます)