如何合并两个图像而不会在opencv中丢失亮度
我在opencv中有两个图像: Image A和Image B.
图像A是来自相机的输出帧。
图像B是通过掩蔽一个图像而获得的透明图像。
在掩盖Image B之前,它使用cvWarpPerspective()
cvAddWeighted()
-当你给出alpha和beta值时,它会放松强度 请在混合后输出图像中不失去强度的地方帮助我。
提前致谢
当你说,你失去了强度...你留下的问题,你是如何失去它?
在某种意义上你是否放松了强度:
当你添加图像时,你会达到最大强度,其余的会被丢弃。 (例如8位像素加法:Pix1 = 200i,Pix2 = 150i。“Pix1 + Pix2 = 350”,但最大值为255,因此Pix1 + Pix2 = 255)
图像A的前值通过将图像B添加到图像B而受到损害,图像B仅覆盖图像的某些部分。 (8位图像的例子:Pix1 = 200i,Pix2 = 150,(Pix1 + Pix2)/ 2 = 175,但是当第二图像的像素的值为零时,Pix2 = 0。然后(Pix1 + Pix2 )/ 2 = 100,这是原始图像的一半)
其中一个意见应该告诉你你需要做什么。 根据你提到的功能,我不太清楚他们使用哪种方法。
我终于得到了答案。它包括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);
输出 - image_n(不失去输入图像的强度)
链接地址: http://www.djcxy.com/p/89749.html上一篇: How to merge two image without losing intensity in opencv
下一篇: How to create data fom image like "Letter Image Recognition Dataset" from UCI