【发布时间】:2013-01-09 07:50:49
【问题描述】:
我已经缝合了两个图像,但在最终图像中有一个可见的接缝。我正在尝试使用 Alpha 混合 来移除该接缝。我知道使用 cvAddweight() 函数应用 Alpha 混合,但在此函数参数是两个图像,alpha、beta、gamma 和目的地。我正在服用gamma=0、alpha=0.6、beta=0.4。作为我的代码的最后一部分,我的两个输入源图像和目标图像是什么->
IplImage* WarpImg = cvCreateImage
(cvSize(T1Img->width*2, T1Img->height*2), T1Img->depth, T1Img- >nChannels);
cvWarpPerspective(T1Img, WarpImg, &mxH);
cvSetImageROI(WarpImg, cvRect(0, 0, T2Img->width, T2Img->height));
cvCopy(T2Img, WarpImg);
cvResetImageROI(WarpImg);
cvNamedWindow("WarpImg Img",1);
cvShowImage("WarpImg Img", WarpImg);
cvSaveImage("save.jpg",WarpImg);
我的最终图片是
【问题讨论】:
-
您似乎没有获得正确的扭曲矩阵,请看前面的桌子,在右边的图像中桌子已经完成,在左边的图像中出现瓶子悬垂在地板上。我认为您应该研究获得扭曲矩阵 mxH 的方法。
-
@Chris 好的。我会检查一下,但现在我主要关心的是去除接缝。无论如何,谢谢。
标签: visual-c++ image-processing opencv computer-vision