我尝试在我的代码中使用 OpenCV C Api。我在 usr/include
下有 opencv
和 opencv2
文件夹。我可以使用 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.o
pkg-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/