Imshow()在stitching_detailed.cpp opencv

时间:2015-07-01 11:47:13

标签: opencv imshow opencv-stitching

我在opencv源文件中的opencv示例(stitching_detailed.cpp)的末尾添加了imshow("result",result),但它没有显示图像。 如果我将它保存为.jpg然后使用imread重新打开它将工作正常。 有谁知道为什么? 这个代码在result.jpg中保存文件,但不显示图像!!奇怪!

imwrite("result.jpg", result); namedWindow("resultwindow", WINDOW_AUTOSIZE); imshow("resultwindow", result); waitKey(0);

下面的代码将显示图像,但时间对我来说很重要我不想保存文件然后阅读它(我的项目是实时拼接)

imwrite(result_name, result);
Mat result2=imread("result.jpg");
namedWindow("resultwindow", WINDOW_AUTOSIZE);
imshow("resultwindow", result2);
waitKey(0);

真的很奇怪。试试吧 。你会看到,请有人帮助我哪里出错了!!!如何在stitching_Detailed.cpp中显示拼接图像?

1 个答案:

答案 0 :(得分:1)

实际上,这不是一个错误。 ArrayBufferresult的3通道矩阵,您无法使用int16显示它(它显示灰色图像)。

只需将其转换为常规的Mat3b,如:

imshow

你应该能够看到它。

希望它有所帮助!