Imshow()在缝合_detailed.cpp opencv中不起作用
我在opencv源文件中的opencv示例(stitching_detailed.cpp)末尾添加了Imshow()在缝合_detailed.cpp opencv中不起作用,opencv,imshow,opencv-stitching,Opencv,Imshow,Opencv Stitching,我在opencv源文件中的opencv示例(stitching_detailed.cpp)末尾添加了imshow(“result”,result),但它不显示图像。 如果我将它保存到.jpg,然后使用imread重新打开它,它将正常工作。 有人知道为什么吗? 此代码将文件保存在result.jpg中,但不显示图像!!奇怪 imwrite(“result.jpg”,result); namedWindow(“resultwindow”,窗口自动大小); imshow(“resultwindow”,
imshow(“result”,result)
,但它不显示图像。
如果我将它保存到.jpg,然后使用imread重新打开它,它将正常工作。
有人知道为什么吗?
此代码将文件保存在result.jpg中,但不显示图像!!奇怪
imwrite(“result.jpg”,result);
namedWindow(“resultwindow”,窗口自动大小);
imshow(“resultwindow”,结果);
等待键(0)代码>
下面的代码将显示图像,但时间对我来说很重要,我不想先保存文件,然后再读取它(我的项目是实时缝合)
真奇怪。试试看。你会看到,请任何人帮帮我哪里错了?!!如何在stitching_Detailed.cpp中显示缝合的图像?事实上,这不是一个bugresult
是一个3通道矩阵,由int16
组成,您不能使用imshow
显示它(它显示一个灰色图像)
只需将其转换为常规Mat3b,如:
Mat3b visibleResult;
convertScaleAbs(result, visibleResult);
imshow("visibleResult", visibleResult);
waitKey();
你应该能看到它
希望有帮助 添加一个waitKey(几毫秒)代码>在imshow之后,没有任何东西会被吸引到它。我添加了waitkey(0)和waitkey(5000),两者都不起作用。我想也许我写了一些东西来“Mat result”以显示和保存imshow不这样做。是吗?在提到的代码中自己尝试一下。这真是一个错误。在显示实时项目方面,我确实与imshow合作了很多,但在其他代码中从未见过这种情况!这个矩阵有一点很特别,imshow无法使用“窗口自动大小”而不是“窗口正常大小”来显示itTry。只是想确定一下。事实上,我认为你可以省略你的陈述。至少,改用namedWindow。可能不是一个解决方案,但可以缩小可能性。
Mat3b visibleResult;
convertScaleAbs(result, visibleResult);
imshow("visibleResult", visibleResult);
waitKey();