はじめに OpenCVで画像上に別の画像を重ねる方法を紹介します。 OpenCV.jpでは複数の画像を連結する方法が紹介されていますが、一つの画像の上に別の画像を重ねる方法(PiP:ピクチャ・イン・ピクチャ)は無いようです。 また、Stack OverflowではROI手法が紹介されていますが、領域サイズを間違えるとエラーになることや、元画像を変形して重ね合わせることができないなど、取り回しが悪いように思います。 そこで、本稿ではcv::warpAffineを使います。 行列を理解する手間がありますが、画像の変形に対応していることと、背景画像の外に描画してもエラーにならないなどの利点があります。 サンプルコード アフィン変換 「アフィン変換」は画像を拡縮、回転、剪断、平行移動する処理です。 詳しくはOpenCV.jpのcv::warpAffineを参照してください。 アフィン行列 アフィン