我在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中显示拼接图像?
答案 0 :(得分:1)
实际上,这不是一个错误。 ArrayBuffer
是result
的3通道矩阵,您无法使用int16
显示它(它显示灰色图像)。
只需将其转换为常规的Mat3b,如:
imshow
你应该能够看到它。
希望它有所帮助!