2017-06-01 6 views
0

私は、1つのOpenCVウィンドウ内に2つの異なる画像ソースを表示することで、ピクチャインピクチャ(PIP)効果を得たいと考えています。画像1は、例えば、画像2として、異なる寸法を有する:OpenCVの同じウィンドウ内に2つの異なるソースをimshowするにはどうすればいいですか?

enter image description here

I 2 cv2.imshow()を実行して、別のウィンドウに2つのソースを表示することができ、私は、同じウィンドウ内に両方のソースが欲しいです。

私はcv2.add()とcv2.addWeighted()でPIPを実行しようとしましたが、異なる次元を扱うことができないようです。

これはOpenCVで可能ですか?

+0

簡単マニュアルの道を:ちょうど1より小さいと大きな画像のこれらのピクセルを置き換える(あまりにも大き-サイズを計算する必要があります)。たぶんあなたは追加でそれを試してみましたが、それは追加ではない、それは置換です。そして、ここのopencvユーザ全員の助けを得るために、あなたの失敗した試みを含め、いくつかのコードを示してください。 – sascha

+0

それぞれをレンダリングキャンバスの適切なサイズのROIにコピーしないでください。 –

+0

ありがとう、私は元の(大きな)イメージにどのように配置しますか? – pepe

答えて

2

おかげさまで@saschaと@dan masekのヒント。示唆したように、単純なコピーは、以下のような問題を解決します

# large image is 'frame' 
# smale image is 'img' 

frame[0:128, 872:1000] = img # copy img onto upper left frame 
cv2.imshow('screen', frame) 
cv2.waitKey(1000) 

enter image description here

関連する問題