使用图像观察(opencv)查看位于矢量中的图像
Posted
技术标签:
【中文标题】使用图像观察(opencv)查看位于矢量中的图像【英文标题】:viewing an image reside in a vector using image watch (opencv) 【发布时间】:2015-06-10 11:30:20 【问题描述】:在我的代码中,我有与此类似的代码:
std::vector<cv::Mat> myImages=GetMyImages();
我想在 image watch 中查看该图像,但 image watch 没有将 myImages 检测为图像,因此不显示它们。
如何在图像查看窗口中查看一张(或全部)图像?
【问题讨论】:
你是说 imshow() 吗?你想显示向量中的所有垫子吗? @GPPK 不,我的意思是为视觉工作室添加图像手表 (visualstudiogallery.msdn.microsoft.com/…) 如果是 i,我会编写一个 for 循环并将矩阵中的每个垫子设置为临时垫子,看看它是否可以看到它们? @GPPK 这就是我现在正在做的事情,但我想也许有更好的解决方案。 这可能是,图像监视扩展似乎只在它可以看到的垫子上进行。虽然我没用过,但我不确定 【参考方案1】:它适用于我(Image Watch 版本 1.5.1106.0):单击元素旁边的放大镜时,我看到 cv::Mat
【讨论】:
【参考方案2】:为了在一个向量中选择的垫子上进行图像观察,您需要这样做:
for (int n = 0; n < myImages.size(); n++)
cv::Mt tempMat = myImages[n]);
从我在 ImageWatch 扩展页面上看到的内容来看,扩展需要特别查看 cv::Mat 类型的变量,我认为将其隐藏在向量中意味着扩展无法看到它。
【讨论】:
【参考方案3】:PhilLab 的解决方案非常适用于旧版 Image Watch,但不适用于较新版本,例如带有 Visual Studio 2019 的 Image Watch 2019。
这种情况下,可以直接使用imageVector[k]
。
【讨论】:
以上是关于使用图像观察(opencv)查看位于矢量中的图像的主要内容,如果未能解决你的问题,请参考以下文章
Opencv 图像拼接混合(Multiband blending)
使用 openCV 在 C++ 中查看灰度 RAW 图像文件