Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Imshow()在缝合_detailed.cpp opencv中不起作用_Opencv_Imshow_Opencv Stitching - Fatal编程技术网

Imshow()在缝合_detailed.cpp opencv中不起作用

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”,

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

imwrite(“result.jpg”,result);
namedWindow(“resultwindow”,窗口自动大小);
imshow(“resultwindow”,结果);
等待键(0)

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


真奇怪。试试看。你会看到,请任何人帮帮我哪里错了?!!如何在stitching_Detailed.cpp中显示缝合的图像?

事实上,这不是一个bug
result
是一个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();