2017-01-25 2 views
0

Я хотел бы запустить небольшой скрипт OpenCV в BM3D фильтр шумоподавления.OpenCV - Как правильно называть bm3dDenoising()?

Я не могу правильно назвать эту функцию в OpenCV.

bm3dDenoising()?

Может ли кто-нибудь мне помочь? О include и namespace?

#include <opencv2/highgui/highgui.hpp> 
#include <opencv2/imgproc/imgproc.hpp> 
#include <opencv2/photo/photo.hpp> 
#include <math.h> 

using namespace cv::xphoto; 
using namespace std; 

int main() 
{ 
    //Load an Image 
    Mat img = imread("C:\\image2.jpg", CV_LOAD_IMAGE_COLOR); 
    namedWindow("Image", CV_WINDOW_AUTOSIZE); 
    imshow("Image", img); 


    //Blur Effect 
    GaussianBlur(img, img, cv::Size(3, 3), 0); 
    cv::xphoto::bm3dDenoising(img, img); // ???? 

    namedWindow("Output", CV_WINDOW_AUTOSIZE); 
    imshow("Output", img); 

    //Wait Key press 
    cvWaitKey(0); 

    //destroy 
    cvDestroyWindow("Image"); 
    cvDestroyWindow("BlurEffect"); 

    return 0; 
} 

ответ

0

Каковы ваши ошибки? Если это ошибка: «cv :: xphoto» не был объявлен, это ошибка компиляции, а не ошибка компоновщика. Вероятно, ваш компилятор не может найти определения cv :: xphoto.

Попробуйте указать явный путь. #include "path/opencv2/..... h"

или указать включенный путь в переключателе -I.

г ++ -I * .cpp -l -o

Я надеюсь, что это поможет.

Смежные вопросы