首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Imshow()在stitching_detailed.cpp opencv中不工作

Imshow()在stitching_detailed.cpp opencv中不工作
EN

Stack Overflow用户
提问于 2015-07-01 11:47:13
回答 1查看 157关注 0票数 2

我在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);

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

代码语言:javascript
复制
imwrite(result_name, result);
Mat result2=imread("result.jpg");
namedWindow("resultwindow", WINDOW_AUTOSIZE);
imshow("resultwindow", result2);
waitKey(0);

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-01 14:01:24

实际上,那不是窃听器。resultint16的3通道矩阵,您不能用imshow显示它(它显示灰色图像)。

只需将其转换为常规Mat3b,如下所示:

代码语言:javascript
复制
Mat3b visibleResult;
convertScaleAbs(result, visibleResult);
imshow("visibleResult", visibleResult);
waitKey();

你应该能看到的。

希望能帮上忙!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31160410

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档