C++ 函数inpaint“未在此范围内声明”

C++ 函数inpaint“未在此范围内声明”,c++,opencv,C++,Opencv,我试图在opencv中使用inpaint函数,但我得到了这个错误 loadimg.cpp: In function 'int main(int, char**)': loadimg.cpp:19:28: error: 'INPAINT_TELEA' is not a member of 'cv' loadimg.cpp:19:45: error: 'inpaint' was not declared in this scope 通过键入以下内容: C:\Users\Francesco\Desk

我试图在opencv中使用inpaint函数,但我得到了这个错误

loadimg.cpp: In function 'int main(int, char**)':
loadimg.cpp:19:28: error: 'INPAINT_TELEA' is not a member of 'cv'
loadimg.cpp:19:45: error: 'inpaint' was not declared in this scope
通过键入以下内容:

C:\Users\Francesco\Desktop\prova>g++ -I"C:\opencv\build\include" 
 -L"C:\opencv\build\x86\mingw\lib" loadimg.cpp -lopencv_core245 -lopencv_highgui245 
 -lopencv_img proc245 -o loadimg
这是我的代码:

#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include <opencv/cv.h>
#include <stdlib.h>
#include <stdio.h>
#include <iostream>

using namespace cv;
using namespace std;

int main(int argc, char** argv)
{

    Mat src = cv::imread("prova.jpg");
    Mat mask;
    cvtColor(src, mask, CV_RGB2GRAY);
    threshold(mask, mask, 220, 255, CV_THRESH_BINARY);
    Mat dst;
    inpaint(src, mask, dst, 1, cv::INPAINT_TELEA);
    imshow("image", dst);
    waitKey(0);

    return 0;
}
有人能帮我吗?非常感谢。

试试:

inpaint(src, mask, dst, 1, INPAINT_TELEA);
另外,包括:opencv2/photo/photo.hpp

inpaint(src, mask, dst, 1, INPAINT_TELEA);
另外,include:opencv2/photo/photo.hpp

cv::inpaint在photo模块中声明。你需要包括。或者,您可以包括,其中包括OpenCV的所有功能。

cv::inpaint在photo模块中声明。你需要包括。或者,您可以包括,其中包括OpenCV的所有功能