【问题标题】:Imshow() size restrictionsImshow() 大小限制
【发布时间】:2012-01-04 14:07:47
【问题描述】:

我有 6750x6450 像素的图像并尝试使用 OpenCv 中的 imshow() 函数显示它。 当我显示一个图像时,它显示得很糟糕(一些有线输出),当我尝试显示两个图像时,会出现 seqfault。将这些图像保存在硬盘上会产生良好的效果,图像被保存,并且它们是正确的,当我调整它们的大小时它们也正确显示。 imshow() 函数有一些大小限制吗?

代码:

Mat bigImage1 = imread(...);
Mat bigImage2 = imread(...);
namedWindow("first",CV_WINDOW_FULLSCREEN);
namedWindow("second",CV_WINDOW_FULLSCREEN);
imshow("first",bigImage1);
imshow("second",bigImage2);

我正在使用台式电脑 Windows 7 64 位

【问题讨论】:

  • 嗨,我确定 OpenCV 不是为大尺寸图像设计的。你的架构是什么?台式电脑? 32/64 位?窗户,Linux?我发现了其他人使用比你更大的图像的例子:tech.groups.yahoo.com/group/OpenCV/message/42362
  • 我已经编辑了我的问题并提供了我的平台详细信息。

标签: c++ opencv


【解决方案1】:

图像可能大于您当前的屏幕分辨率。问题似乎是它们太大了,OpenCV 无法在窗口中处理它们。

可以肯定的是,我会在 Mac 或 Linux 上尝试您的代码,因为 OpenCV 是跨平台的,并且每个操作系统都有特定的窗口管理实现。

【讨论】:

  • 对于这么大的图像,您需要除 imshow 之外的可视化工具。类似于 Python Matplotlib imshow 的东西,因为它可以为可视化目的进行一些调整大小。或者只是将其保存为图像。
猜你喜欢
  • 1970-01-01
  • 2011-11-21
  • 2020-01-29
  • 2010-12-29
  • 2012-10-16
  • 2011-03-27
  • 2011-03-09
  • 2014-10-05
  • 1970-01-01
相关资源
最近更新 更多