c++ - “CvLoadImage”未在此范围内声明

标签 c++ c opencv compiler-errors

我尝试在我的代码中使用 OpenCV C Api。我在 usr/include 下有 opencvopencv2 文件夹。我可以使用 OpenCV C++ Api。 C++代码和编译&链接命令如下:

#include <iostream>
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/core/core.hpp"
#include "opencv2/opencv.hpp"

using namespace cv;

int main()
{

    Mat im = imread("Sobel.jpg");
    return 0;
}

编译:g++ -c main.cpp

链接:g++ -o exe main.opkg-config --libs opencv`

现在我想使用 OpenCV C-Api。我的代码在这里:

#include <iostream>
#include "opencv/cv.h"
#include "opencv/highgui.h"
#include "opencv2/imgproc/imgproc_c.h"
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/core/core.hpp"
#include "opencv2/opencv.hpp"

using namespace cv;

int main()
{

    IplImage* pImg = CvLoadImage("Sobel.jpg");
    if(pImg == NULL)
         return -1;

    // ... big bloat to do the same operations with IplImage    

    CvShowImage("Image", pImg);
    cvWaitKey();
    CvReleaseImage(&pImg); // Do not forget to release memory.
    // end code here

    return 0;
}

当我编译g++ -c main.cpp时,编译器说“CvLoadImage”未在此范围内声明

最佳答案

一个简单的拼写错误,函数原型(prototype)是

IplImage* cvLoadImage( const char* filename, int iscolor=CV_LOAD_IMAGE_COLOR );

关于c++ - “CvLoadImage”未在此范围内声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30870524/

相关文章:

c++ - 只关闭一个套接字

c - 如何按字母顺序对数字进行排序?

ios - 没有匹配函数调用 'MatToUIImage'

python - 无法使用 cv2.VideoCapture(video_path).set(cv2.CAP_PROP_FPS, new_frame_rate) 更改输入视频的帧速率

c++ - 在指定之前使用模板类

c++ - 如何在 C++ 异常类析构函数中释放变量

c - 将值列表传递到内核空间

opencv - 对于尺度不变的特征提取,是否有 SURF 和 SIFT 的快速替代方法?

c++ - 终止带有许多自定义错误消息的C++程序的最佳实践

c - 在 C 中手动从递归获取输出