在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);
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
请正确配置,见图
图1:包含目录是指你#include的文件所处的目录。库目录是指所有lib文件所处的目录。
你的dll无法定位的问题,应该是下图没有配置好。

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