有人可以告诉我Stitching如何在OpenCv中运行。我的意思是缝合的图片应该相同多少?我有三张不同侧面的椅子图片,黑色背景,透视图第一张与第二张相同80%,第三张80%与第二张相同。我想缝合它们,然后做一些像旋转的3D建模。我的拼接代码如下所示
int main()
{
//stiching function
Mat img1 = imread("back.jpg", CV_LOAD_IMAGE_COLOR);
Mat img2 = imread("back1.jpg", CV_LOAD_IMAGE_COLOR);
Mat img3 = imread("back2.jpg", CV_LOAD_IMAGE_COLOR);
vector<Mat> image;
Mat stitchedImage;
Stitcher stitchx = Stitcher::createDefault(true);
image.push_back(img1);
image.push_back(img2);
image.push_back(img3);
Stitcher::Status stitcherStatus = stitchx.stitch(image, stitchedImage);
imshow("Stitched", stitchedImage);
Mat ou;
rotateImage(stitchedImage, ou, /*-30*/-90,/* 20*/-170.90, 90, 10, 0, -260, 250);
imshow("o", ou);
return 0;
}
调试行stitchx.stitch时,它表示ERR_NEED_MORE_PICS,而在imshow上,它会给出如下所示的异常。 StitchedPerspec.exe中0x77002F71处的未处理异常:Microsoft C ++异常:cv ::内存位置0x00DBF210处的异常。
请任何人帮我解决这个问题! 我无法在此处上传图片我不知道为什么......但是,如果有人愿意帮我发送您的电子邮件ID,那么我可以向您展示我的图片。 我会非常感激..
答案 0 :(得分:0)
如果没有上传图片,我们无法帮助您。但是可能在你的图像中没有检测到“绣”可以使用的特征......