2011-11-16 10 views
5

で強度を失うことなく、2枚の画像をマージします。は、どのように私はOpenCVの中に2枚の画像を持っているOpenCVの

画像は、カメラからの出力フレームです。
画像Bは、マスキングによって得られたアルファ透明画像です。
イメージ・Bをマスキングする前に、私がcvAddWeighted()しようとしたcvWarpPerspective()

  • と反っている - あなたは、全体的な強さを失ったとしても、ここで - あなたはアルファとベータ値
  • を与えるとき、それは私がaishackを試みた強度を失いを出力イメージの数:
  • 私は試しましたsilveiraneto.net-私の場合は役に立たない

ブレンド後の出力画像で強度を失わないように助けてください。事前

答えて

2

私はついに答えを得ました。これは5つのステップで構成されています....

ステップ - 1

cvGetPerspectiveTransform(q,pnt,warp_matrix); 
//where pnt is four point x and y cordinates and warp_matrix is a 3 x 3 matrix 

ステップ - 2

cvWarpPerspective(dst2, neg_img, warp_matrix,CV_INTER_LINEAR) 
//dst2 is overlay image ,neg_img is a blank image 

ステップ - 3

cvSmooth(neg_img,neg_img,CV_MEDIAN); //smoothing the image 

ステップ - 4

cvThreshold(neg_img, cpy_img, 0, 255, CV_THRESH_BINARY_INV); 
//cpy_img is a created image from image_n 

ステップ - 5

cvAnd(cpy_img,image_n,cpy_img);// image_n is a input image 
cvOr(neg_img,cpy_img,image_n); 

出力 - そのための答え1のための(入力画像の強度を失うことなく) image_n

+0

アンチエイリアスなしのオーバーレイ。 2つのステップで行うことができます:1)warp_matixを取得する、2) warpPerspective(pic、frame、warp_matrix、frame.size()、INTER_LINEAR、BORDER_TRANSPARENT); –

2

おかげで、あなたは強さを失うこと...あなたはそれを失うか、についての質問を残す、と言うとき?

はあなたの意味での緩い強度を行います

あなたが画像を追加するときに最大強度をヒットし、残りは破棄されていること。(8ビットピクセル加算の例:Pix1 = 200i、Pix2 = 150i、Pix1 + Pix2 = 350、最大値255、したがってPix1 + Pix2 = 255)

イメージの前の値Aは画像の一部をカバーする画像Bに追加することで危険にさらされます。 (Pix1 + Pix2)/ 2 = 175であるが、第2の画像の画素の値が0である場合、Pix2 = 0となる。次に、(Pix1 + Pix2)/ 2 = 100(元の画像の半分の値))

これらの観測のうちの1つで、必要なことを教えてください。 あなたが言及した機能によれば、彼らが使っているアプローチはかなりわかりません。

+0

おかげで、私はここに必要なものあなたがPhotoshopで眼鏡画像(png透明)を持っていると仮定して、それをドラッグして正面と背面に持っていくことで、その画像を誰かの顔(別の画像)にどのように重ね合わせるのですか...同じこと私はopencvでやりたいと思っています...あなたが言っているのは私の質問です...私はそれを避けるために何らかの方法が必要です.... – Wazzzy

+0

赤い緑色のRGB(A)のような4チャンネルのimgで作業できたら、青とアプラ、RGBのようなちょうど3チャンネルの代わりに。画像Aの各ピクセル(背面の画像)を新しい画像(透明度付き)に変更し、これをアルファチャンネルに基づいて0〜1のスケールで変更することで、それらを追加することができます。私はまだコードのいくつかの正確な例を与えることはできません。 – Sonaten

+0

さらに。あなたの透明度が厳密に_OnおよびOff_値である場合、透明イメージの各ピクセルのアルファ値をチェックし、アルファ値が "true"の場合はその値をバックグラウンドイメージに書き込むことができます。 – Sonaten

関連する問題