我正在进行多视图遮挡图像注册。我已经应用SURF来寻找和匹配特征。使用单应变换,我生成了参考图像的透视变换图像。我还应用了线性混合和加法加权混合来生成最终的注册图像。但我没有得到好结果。所以,我正在应用"多波段混合"在使用C ++的openCV库中。 我的代码写成:
// Apply Multi Band Blender for overlaying of two images
detail::MultiBandBlender blender;
//Blender::MultiBandBlender blender;
try{
Rect bounding_box;
Rect dst_roi;
cout << "Before blend preparing" << endl;
blender.prepare(dst_roi);
cout << "After blend preparing" << endl;
Mat mask, bigImage, curImage;
// warpPerspective(image3, perImg1, H, cv::Size(image3.cols, image3.rows));
warpPerspective(image3, curImage, perImg1, bounding_box.size());
//Mat makeMask(Size sz, vector<Point2f> imageCorners, Mat homorgaphy)
mask = makeMask(curImage.size(), scene, curImage);
blender.feed(curImage.clone(), mask, Point(0, 0));
blender.blend(bigImage, mask);
bigImage.convertTo(bigImage, (bigImage.type() / 8) * 8);
imshow("Result", bigImage);
imwrite("Multi_Band_Register.jpg", bigImage);
}
catch (Exception e){ cout << "Exception is generated" << endl; }
在运行程序期间,我在
中遇到了异常错误 blender.prepare(dst_roi);
你能帮我解决一下这个错误吗?
谢谢,