opencv249+vs2015中出现的问题

ooxuyu 2018-01-26 03:31:25
一个程序运行后,出现一个断点错误

然后注意到原来运行一个程序会出现下面的错误,固定的四个.dll文件会出现,无法查看或打开PDB文件的问题
...
“try1.exe”(Win32): 已加载“D:\Program Files\opencv\build\x86\vc12\bin\opencv_objdetect249d.dll”。无法查找或打开 PDB 文件。
“try1.exe”(Win32): 已卸载“D:\Program Files\opencv\build\x86\vc12\bin\opencv_objdetect249d.dll”
“try1.exe”(Win32): 已加载“D:\Program Files\opencv\build\x86\vc12\bin\opencv_highgui249d.dll”。无法查找或打开 PDB 文件。
“try1.exe”(Win32): 已卸载“D:\Program Files\opencv\build\x86\vc12\bin\opencv_highgui249d.dll”
“try1.exe”(Win32): 已加载“D:\Program Files\opencv\build\x86\vc12\bin\opencv_core249d.dll”。无法查找或打开 PDB 文件。
“try1.exe”(Win32): 已加载“D:\Program Files\opencv\build\x86\vc12\bin\opencv_highgui249d.dll”。无法查找或打开 PDB 文件。
“try1.exe”(Win32): 已加载“C:\Windows\SysWOW64\user32.dll”。已加载符号。
“try1.exe”(Win32): 已加载“D:\Program Files\opencv\build\x86\vc12\bin\opencv_highgui249d.dll”。无法查找或打开 PDB 文件。
“try1.exe”(Win32): 已卸载“D:\Program Files\opencv\build\x86\vc12\bin\opencv_highgui249d.dll”
“try1.exe”(Win32): 已加载“D:\Program Files\opencv\build\x86\vc12\bin\opencv_imgproc249d.dll”。无法查找或打开 PDB 文件。
“try1.exe”(Win32): 已加载“C:\Windows\SysWOW64\combase.dll”。已加载符号。
“try1.exe”(Win32): 已加载“C:\Windows\SysWOW64\rpcrt4.dll”。已加载符号。
“try1.exe”(Win32): 已卸载“D:\Program Files\opencv\build\x86\vc12\bin\opencv_imgproc249d.dll”
“try1.exe”(Win32): 已加载“D:\Program Files\opencv\build\x86\vc12\bin\opencv_imgproc249d.dll”。无法查找或打开 PDB 文件。
求解:出现下面的问题:无法查找或打开 PDB 文件。是正常情况?测试用的加载一个图片的程序,虽然也出现了这个情况,但是能显示出图片。网上说的勾选 启动源服务器支持和Microsoft符号服务器试了也没用,求大神解答
可以的话,下面是源程序,自己改了下,应该能运行,但是出现了以上的错误,程序目的是框出一幅图片中行人
#include <iostream>
#include <stdio.h>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/objdetect/objdetect.hpp>
#include <opencv2/ml/ml.hpp>
#include <Windows.h>

using namespace std;
using namespace cv;
int main()
{
Mat src = imread("C:\\Users\\96467\\Pictures\\Camera Roll\\1.png", 1);
vector<Rect> personSVM/*, personCasc*/, personListSVM/*, personListCacs*/;//检测结果矩形框向量
DWORD SVMTimeBegin, SVMTimeEnd/*, CascTimeBegin, CascTimeEnd*/; //耗时统计

//方法1,Hog+svm
SVMTimeBegin = GetTickCount();
HOGDescriptor hog;//HOG特征检测器
hog.setSVMDetector(HOGDescriptor::getDefaultPeopleDetector());//设置SVM分类器为默认参数
hog.detectMultiScale(src, personSVM, 0, Size(2, 2), Size(0, 0), 1.05, 2);//对图像进行多尺度检测
SVMTimeEnd = GetTickCount();
cout << "HOG+SVM行人检测耗时:\n" << (SVMTimeEnd - SVMTimeBegin) << endl;
//方法2.Hog+cascade
/*CascTimeBegin = GetTickCount();
CascadeClassifier *cascade = new CascadeClassifier;
cascade->load("D:\\Program Files\\opencv\\sources\\data\\hogcascades\\hogcascade_pedestrians.xml");
cascade->detectMultiScale(src, personCasc);
CascTimeEnd = GetTickCount();
cout << "HOG+Cascade行人检测耗时:\n" << (CascTimeEnd - CascTimeBegin) << endl;
*/
//不重合的直接放入List,重合的选取最外侧结果
for (unsigned int i=0; i < personSVM.size(); i++)
{
Rect r = personSVM[i];
unsigned int j = 0;
for (; j < personSVM.size(); j++)
if (j != i && (r & personSVM[j]) == r)
break;
if (j == personSVM.size())
personListSVM.push_back(r);
}
/*for (unsigned int i = 0; i < personCasc.size(); i++)
{
Rect r = personCasc[i];
unsigned int j = 0;
for (; j < personCasc.size(); j++)
if (j != i && (r & personCasc[j]) == r)
break;
if (j == personCasc.size())
personListCacs.push_back(r);
}*/

//画矩形框,缩放检测到的矩形框
for (unsigned int i = 0; i<personListSVM.size(); i++)
{
Rect r = personListSVM[i];
r.x += cvRound(r.width*0.1);
r.width = cvRound(r.width*0.8);
r.y += cvRound(r.height*0.07);
r.height = cvRound(r.height*0.8);
rectangle(src, r.tl(), r.br(), Scalar(0, 0, 255), 2);
}
/*for (unsigned int i = 0; i<personListCacs.size(); i++)
{
Rect r = personListCacs[i];
r.x += cvRound(r.width*0.1);
r.width = cvRound(r.width*0.8);
r.y += cvRound(r.height*0.07);
r.height = cvRound(r.height*0.8);
rectangle(src, r.tl(), r.br(), Scalar(0, 255, 0), 2);
}*/
imshow("HOG特征+SVM/Cascade行人检测", src);
waitKey();
getchar();
return 0;
}
原来程序的网址是:http://blog.csdn.net/dcrmg/article/details/53047009
只是稍微改了下,应该能运行的,现在不知道是环境没配好,还是文件损坏,还是源程序有问题,求大神解答0.0
...全文
891 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ooxuyu 2018-01-30
  • 打赏
  • 举报
回复
我后来直接打开了 始终运行不受信任的源服务器命令并且不再提示 眼不见为空
大大的道道的 2018-01-30
  • 打赏
  • 举报
回复
那不是错误 那只是你缺少PDB文件, PDB对于调试来说会有点用 。。如果你不去看opencv内部的源代码的话 那基本上没有用。。。
赵4老师 2018-01-26
  • 打赏
  • 举报
回复
崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack即“调用堆栈”里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处,看不懂时双击下一行,直到能看懂为止

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧