缝合中的OpenCV断言错误

OpenCV Assertion Error in Stitching

本文关键字:断言 错误 OpenCV      更新时间:2023-10-16

我正在对两个图像进行拼接,在调试时出现了这个错误(编译成功,但运行时会中断):

在未知函数中断言失败==CV_8Uc3>。

这是代码:

int main(int argc, char ** argv)
{
    Mat im1=imread("panorama_image1.jpg", CV_LOAD_IMAGE_GRAYSCALE);
    Mat im2=imread("panorama_image2.jpg", CV_LOAD_IMAGE_GRAYSCALE);
    Mat result;
    vector<Mat> imgs;
    imgs.push_back(im1);
    imgs.push_back(im2);
    cv::Stitcher stitcher=cv::Stitcher::createDefault(false);
    stitcher.stitch(imgs,result);
    namedWindow("Mosaic", CV_WINDOW_AUTOSIZE);
    imshow("Mosaic",result);
    waitKey(0);
    return 0;
}

我在这段代码中找不到错误。并且链接器库是正确的(使用D版本,如opencv_core244d.libopencv_stitching244d.lib

我认为sgarizvi是对的,彩色加载为我解决了一个类似的问题:

Mat im1=imread("panorama_image1.jpg", CV_LOAD_IMAGE_COLOR);
Mat im2=imread("panorama_image2.jpg", CV_LOAD_IMAGE_COLOR);