Wasim Karani
Wasim Karani

Reputation: 8886

How to merge two image without losing intensity in opencv

I have two images in opencv: Image A and Image B.

Image A is output frame from camera.
Image B is alpha transparent image obtained by masking one image.
Before masking Image B it is warped with cvWarpPerspective()

Please help me out with something where I don't lose intensity in the output image after blending.

Thanks in advance

Upvotes: 6

Views: 3953

Answers (2)

Wasim Karani
Wasim Karani

Reputation: 8886

I finally got the answer.It consist of 5 steps....

Step - 1

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

Step - 2

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

Step - 3

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

Step - 4

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

Step - 5

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

Output - image_n (without loosing intensity of input image)

Upvotes: 2

Sonaten
Sonaten

Reputation: 502

When you say, that you lose intensity... you leave the question about, how you lose it?

Do you loose intensity in the sense:

That when you add the images you hit a maximum intensity, and the rest is discarded. (Example for a 8 bit pixel addition: Pix1 = 200 i, Pix2 = 150 i. "Pix1 + Pix2 = 350" but max value at 255, so Pix1 + Pix2 = 255)

That the former values of image A is compromised by adding it to Image B, which only covers some parts of the image. (Example for an 8 bit image: Pix1 = 200 i, Pix2 = 150, (Pix1 + Pix2)/2 = 175, but when the value of a pixel of the second image is zero, Pix2 = 0. Then (Pix1 + Pix2)/2 = 100, which is half the value of the original image)

One of these observations should tell you about what you need to do. I don't quite know, in accordance to the functions you mentioned, which approach they use.

Upvotes: 2

Related Questions