【问题标题】:identifier calcHist() is undefined in OpenCV in c++标识符 calcHist() 在 C++ 中的 OpenCV 中未定义
【发布时间】:2015-11-24 02:06:10
【问题描述】:

我正在尝试在 C++ 中使用 OpenCV 计算图像的直方图,但出现此错误:

error: identifier calcHist() is undefined 

在 Visual Studio 2013 中的 C++ 中的 OpenCV

这是我的代码

#include<iostream>
#include<opencv2\core\core.hpp>
#include<opencv2\highgui\highgui.hpp>

using namespace std;
using namespace cv;

int main(){
    Mat original=imread("my.jpg",CV_LOAD_IMAGE_UNCHANGED);
    namedWindow("Original Image",CV_WINDOW_NORMAL);
    imshow("Original Image",original);
    waitKey(5000);  
    calcHist();
}

但是Visual Studio识别cvCalcHist()函数,不幸的是我用过calcHist()函数的所有参考资料,我对它很满意。

【问题讨论】:

  • 还包括 imgproc
  • 谢谢。这完全解决了我的问题。
  • 很高兴它有帮助。现在我有更多时间,我将其发布为答案。
  • 只包括 #include&lt;opencv2\opencv.hpp&gt; 包括所有,afaik。

标签: c++ opencv visual-studio-2013


【解决方案1】:

由于calcHist 位于图像处理 (imgproc) 模块中,您应该像这样包含它:

#include <opencv2\imgproc\imgproc.hpp>

请注意,OpenCV 还提供了一个 include all 标头,其中包含您的所有模块(nonfree 模块除外):

#include <opencv2\opencv.hpp>

【讨论】:

    【解决方案2】:

    你调用了 calcHist() 但没有给出参数。 calcHist 函数的所有重载都没有所有默认值,因此如果您希望它工作,您需要传递更多参数。

    有关 C++ 示例,请参阅 OpenCV 文档 here

    【讨论】:

      猜你喜欢
      • 2017-08-07
      • 1970-01-01
      • 2020-10-27
      • 2016-03-17
      • 2023-03-20
      • 2017-05-13
      • 1970-01-01
      • 1970-01-01
      • 2015-10-11
      相关资源
      最近更新 更多