c++ - VS2013环境下被OpenCV这个鬼畜的问题折磨好几天了
PHP中文网
PHP中文网 2017-04-17 13:19:08
0
1
513

在Mastering OpenCV with Practical CV Project书中的第一章 将图片变成素描的示例中,我尝试以下代码,OpenCV配置是没有问题的,因为我用一个demo示例将图片显示了出来,可下面这段代码始终运行不成功。opencv_imgproc249d.dll,opencv_highgui249d.dll,opencv_core249d.dll,cannot find or open PDB file,已经把百度上有关这个问题的前5页全部看了一遍,依旧没有解决...
下面是

/*main_desktop.cpp*/ #include "stdafx.h" #include  #include  #include  #include  #include  #include  #include  #include "cartoon.h" using namespace std; using namespace cv; int main(int argc, char* argv[]) { int camerNumber = 1; if (argc > 1){ camerNumber = atoi(argv[1]); } cout<<"how are you"<
/*cartoon.cpp*/ #include "stdafx.h" #include "opencv2/opencv.hpp" #include "cartoon.h" using namespace cv; using namespace std; //void cartoonifyImage(IplImage* srcColor_img , IplImage* result_img){ void cartoonifyImage(Mat srcColor_img, Mat result_img){ /*测试该函数*/ result_img = srcColor_img; //cout << "how are you" << endl; ////IplImage转为Mat //Mat srcColor = srcColor_img; ////均值滤波器 //Mat gray; //cvtColor(srcColor, gray, CV_BGR2GRAY); //const int MEDIAN_BLUR_FILTER_SIZE = 7; //medianBlur(gray, gray, MEDIAN_BLUR_FILTER_SIZE); // ////拉普拉斯滤波器 //Mat edges; //const int LAPLACIAN_FILTER_SIZE = 5; //Laplacian(gray, edges, CV_8U, LAPLACIAN_FILTER_SIZE); ////阈值反转处理 //Mat mask; //const int EDGES_THRESHOLD = 80; //threshold(edges, mask, EDGES_THRESHOLD, 255, THRESH_BINARY_INV); // //result_img = mask; }
/*cartoon.h*/ using namespace cv; void cartoonifyImage(Mat a, Mat b); //void cartoonifyImage(IplImage* a, IplImage* b);
PHP中文网
PHP中文网

认证0级讲师

reply all (1)
Ty80

请正确配置,见图


图1:包含目录是指你#include的文件所处的目录。库目录是指所有lib文件所处的目录。

你的dll无法定位的问题,应该是下图没有配置好。

图2:链接器-输入是指所有dll所在的目录,注意这个配置的release和debug需要的dll是不一样的,区别在版本249后有没有d这个字母。

    Latest Downloads
    More>
    Web Effects
    Website Source Code
    Website Materials
    Front End Template
    About us Disclaimer Sitemap
    php.cn:Public welfare online PHP training,Help PHP learners grow quickly!