OpenCV:全景拼接 - 忽略图像的一部分

Posted

技术标签:

【中文标题】OpenCV:全景拼接 - 忽略图像的一部分【英文标题】:OpenCV: Panorama stitching - Ignore part of image 【发布时间】:2013-09-19 13:36:50 【问题描述】:

我使用此代码将图像拼接在一起(我是 OpenCV 新手):

cv::Mat stitch (vector<Mat>& images)

    imgs = images;
    Mat pano;
    Stitcher stitcher = Stitcher::createDefault(try_use_gpu);
    Stitcher::Status status = stitcher.stitch(imgs, pano);

    if (status != Stitcher::OK)
        
        cout << "Can't stitch images, error code = " << int(status) << endl;
            //return 0;
        
    return pano;

有没有办法让 OpenCV 忽略图像的一部分?假设我想将两张图像拼接在一起,但我不希望它计算图像中间的正方形。

这样做的原因是我希望能够为一个人拍摄两次照片,然后将这两张图像合并/拼接成一张,但忽略该人。

这样可行吗?

【问题讨论】:

【参考方案1】:

一种无效的解决方案可能是指定要忽略的区域周围的图像部分。确保图像有足够的重叠像素进行拼接。然后将所有这些图像发送到 opencv 拼接器。

如果忽略区域是矩形,您可以根据忽略区域用 2-4 个矩形覆盖周围区域。

例如,下面的图像可能是全景图的一部分。您可以忽略黑色区域并将其他区域添加到拼接器的输入向量中。

【讨论】:

以上是关于OpenCV:全景拼接 - 忽略图像的一部分的主要内容,如果未能解决你的问题,请参考以下文章

Opencv图像拼接或全景

使用OpenCV进行图像全景拼接

OpenCv 3d 拼接全景图

CV实战 | 使用OpenCV进行图像全景拼接

基于Python和openCV实现图像的全景拼接

OpenCV-Python 图像全景拼接stitch及黑边处理