gpt4 book ai didi

c++ - 简单的拼接代码

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:16:16 24 4
gpt4 key购买 nike

这是我第一次使用 OpenCV,那是为了制作一个简单的图像拼接......我尝试了以下简单代码:

    Mat resImage;
Mat image1 = imread(_T("D:\\Tempx\\Image1.bmp"), CV_LOAD_IMAGE_COLOR);
Mat image2 = imread(_T("D:\\Tempx\\Image2.bmp"), CV_LOAD_IMAGE_COLOR);
std::vector<cv::Mat> vImg;

vImg.push_back(image1);
vImg.push_back(image2);

Stitcher stitcher = Stitcher::createDefault(TRUE);
Stitcher::Status stat = stitcher.stitch(vImg, resImage); // <-- crash the program !!!
if(cv::Stitcher::OK != stat)
sError.Format(_T("Error while stitching the images."));

std::vector<int> compression_params;
compression_params.push_back(CV_IMWRITE_PNG_COMPRESSION);
compression_params.push_back(9);

imwrite(_T("D:\\Tempx\\Image3.bmp"), resImage, compression_params);

但在线:

stitcher.stitch(vImg, resImage);

程序崩溃了:

enter image description here

可能是简单的东西,也可能不是……你能看一看并告诉我一些提示/想法吗?谢谢。

最佳答案

我猜你的图片有问题。确保它们被正确读取,例如,通过 imwrite 写入新文件。还要先用另一对图像进行测试。如果所有这些都通过,那么可能由于某种原因它无法估计相机参数。

更新:特征提取器似乎有问题,很难仅通过您发布的回溯来判断出了什么问题。在代码中设置特征提取器,看看效果如何:

Stitcher stitch = Stitcher::createDefault(FALSE);
stitch.setFeaturesFinder(new detail::OrbFeaturesFinder());

第一行与您的代码相同,在第二行中我们只是告诉拼接器使用什么特征提取器。

关于c++ - 简单的拼接代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33231565/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com