Opencv_简单的图像拼接

项目描述:
需要设计一个可以将两个图片结合起来的功能
项目实现:
通过上网查找资料发现Opencv中的stitcher可以实现这个功能:
但是这个函数实现后图片的四周会出现黑色的边框。
拼接前:


拼接后

代码:

 Mat Img_01 = cv::imread("D:/03Qt_study/Opencv/Opencv_Pro/img/01.png", IMREAD_UNCHANGED);		//加载原始图像
    Mat Img_02 = cv::imread("D:/03Qt_study/Opencv/Opencv_Pro/img/02.png", IMREAD_UNCHANGED);		//加载原始图像
    if (Img_01.empty() || Img_02.empty()) {
        qDebug("图片加载错误...");
        return;
    }
    imshow("Img_01", Img_01);										//展示图像
    imshow("Img_02", Img_02);								//展示图像
    std::vector<Mat> imgs;
    imgs.push_back(Img_01);
    imgs.push_back(Img_02);
    cv::Ptr<cv::Stitcher> stitcher = cv::Stitcher::create();
    // 使用stitch函数进行拼接
    cv::Mat pano;
    cv::Stitcher::Status status = stitcher->stitch(imgs, pano);
    if (status != cv::Stitcher::OK) {
        std::cout << "Can't stitch images, error code = " << int(status) << std::endl;
        return;
    }
    imshow("全景图像", pano);

你可能感兴趣的:(qt,opencv,opencv,计算机视觉,人工智能)