Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Opencv缝合图像结果错误_Opencv - Fatal编程技术网

Opencv缝合图像结果错误

Opencv缝合图像结果错误,opencv,Opencv,我制作了图像缝合器,它可以合并10幅(或更多)图像 合并图像似乎是正确的,但这个结果有一些问题。结果不是很完美,它有黑色区域 这是输出 为什么会出现这个问题?当我运行这个程序时,它使用了大量的cpu和内存,这与问题有关吗 +)用于合并的图像为2880*2880 +)这是我的密码 QImage requestImage(const QString &id, QSize *size, const QSize &requestedSize) { QUrl url(id);

我制作了
图像缝合器
,它可以合并10幅(或更多)图像

合并图像似乎是正确的,但这个结果有一些问题。结果不是很完美,它有黑色区域

这是输出

为什么会出现这个问题?当我运行这个程序时,它使用了大量的cpu和内存,这与问题有关吗

+)用于合并的图像为2880*2880

+)这是我的密码

QImage requestImage(const QString &id, QSize *size, const QSize &requestedSize)
{
    QUrl url(id);
    QString file = url.toLocalFile();
    QString queryStr = url.query();
    QUrlQuery query(queryStr);

    Mat pano;
    Stitcher stitcher = Stitcher::createDefault(true);
    stitcher.setFeaturesFinder(makePtr<detail::SurfFeaturesFinder>(100));

    vector<Mat> imgs;
    foreach (auto node, query.queryItems()) {
        if(node.first == "src") {
            imgs.push_back(cv::imread(node.second.remove(0,7).toStdString()));
        } else if(node.first == "hessian") {
            //stitcher.setFeaturesFinder(makePtr<detail::SurfFeaturesFinder>(node.second.toInt()));
            stitcher.setFeaturesFinder(makePtr<detail::SurfFeaturesFinder>(100));  
        }
    }
    Stitcher::Status status = stitcher.stitch(imgs, pano);
    if (status != Stitcher::OK)
    {
        cout << "Can't stitch images, error code = " << status << endl;
        return QImage();
    }
    return cvMatToQImage(pano);

}
QImage requestImage(常量QString&id,QSize*size,常量QSize&requestedSize)
{
QUrl(id);
QString file=url.toLocalFile();
QString queryStr=url.query();
QUrlQuery查询(queryStr);
马特帕诺;
Stitcher-Stitcher=Stitcher::createDefault(true);
缝合器设置特征指示器(makePtr(100));
向量imgs;
foreach(自动节点,query.queryItems()){
如果(node.first==“src”){
imgs.push_back(cv::imread(node.second.remove(0,7.toStdString());
}else if(node.first==“hessian”){
//setFeaturesFinder(makePtr(node.second.toInt());
缝合器设置特征指示器(makePtr(100));
}
}
缝合器::状态状态=缝合器缝合(imgs,pano);
如果(状态!=缝合器::确定)
{

无法添加一些代码。问题出在哪里?您期望的结果是什么?如果您认为图像大小有问题,请尝试缩小它们。我编辑了这篇文章,我尝试缩小图像大小,但出现了相同的错误。请添加一些代码。问题出在哪里?您期望的结果是什么?如果您认为有问题图像大小有问题,请尝试缩小。我编辑了这篇文章,尝试缩小图像大小,但出现了相同的错误。。