我在opencv示例(stitching_detailed.cpp)的末尾添加了imshow("result",result),它位于opencv源文件中,但它不显示图像。如果我将它保存到.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中显示拼接图像?
发布于 2015-07-01 14:01:24
实际上,那不是窃听器。result是int16的3通道矩阵,您不能用imshow显示它(它显示灰色图像)。
只需将其转换为常规Mat3b,如下所示:
Mat3b visibleResult;
convertScaleAbs(result, visibleResult);
imshow("visibleResult", visibleResult);
waitKey();你应该能看到的。
希望能帮上忙!
https://stackoverflow.com/questions/31160410
复制相似问题