我正在对两个图像进行拼接,在调试时出现了这个错误(编译成功,但运行时会中断):
在未知函数中断言失败==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.lib
、opencv_stitching244d.lib
等
我认为sgarizvi是对的,彩色加载为我解决了一个类似的问题:
Mat im1=imread("panorama_image1.jpg", CV_LOAD_IMAGE_COLOR);
Mat im2=imread("panorama_image2.jpg", CV_LOAD_IMAGE_COLOR);