visual-studio-2010 - 在opencv中用imshow显示max()函数的结果

标签 visual-studio-2010 visual-c++ opencv

我有1个图像的2个Mat,有些像素有些许差异。我想找到每个像素的最大值并显示它们。我在Visual C++ 2010(控制台)中编写了以下代码:

Mat dst;
max(result0, result1, dst);
imshow("dst", dst);

并且dst图像显示完美,但是当我以Windows形式复制此代码时,收到此错误:“错误C2440:'?' :无法从'cv::MatExpr'转换为'bool'“,因此我将代码更改为:
Mat dst;
max(&result0, &result1, &dst);
imshow("dst", dst);

但在运行时出现此错误:
“OpenCVProject.exe中发生类型'System.Runtime.InteropServices.SEHException的未处理的异常
其他信息:外部组件引发了异常。”

请帮助我显示图像。
提前致谢

最佳答案

我也遇到了这个问题。我发现正​​是minwindef.h导致了这个问题。因此,您可以添加以下内容:

#undef max
#undef min

在头文件(#include <...>)下面,则可以成功使用cv::max。

关于visual-studio-2010 - 在opencv中用imshow显示max()函数的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18016660/

相关文章:

vb.net - 使用 VB.NET 的 Visual Studio 2010 中枚举类型的 Intellisense 发生了什么?

c# - VS 2010 设计器中控件对齐的逆序

c++ - 为什么我不能增加简单 constexpr 函数的参数?

c - 如何在 Windows 中使用 MSVC 从命令行构建 DLL

visual-c++ - #pragma pack(8) 应该如何工作?

c++ - 在 OpenCV 中将多项式分成等长的

java - 在不同视角的图像中找到射箭目标

以 MS Access 数据库作为数据源的 WPF 应用程序

android - 使用 OpenCV 检测图像是否模糊

c++ - dll 在 VS2010 项目中运行良好,但在 VS6 应用程序中出现访问冲突