我正在尝试对实时视频源进行霍夫线变换。首先,提要通过一个精巧的边缘检测器运行,该检测器可以完美地工作和输出,然后我通过霍夫线变换运行图像,它会导致“windows 在 openCv.exe 中触发了一个断点”。如果您查看冻结的程序,您可以看到该程序进行了霍夫变换,但随后冻结,弹出一个框,显示“Windows 已触发....”错误
有任何想法吗?
代码:
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
using namespace cv;
int main(int, char**)
{
namedWindow( "Edges", CV_WINDOW_NORMAL );
CvCapture* capture = cvCaptureFromCAM(-1);
Mat frame;
Mat out;
Mat out2;
Mat canny;
Mat hough;
while(1) {
frame = cvQueryFrame( capture );
imshow("Source",frame);
GaussianBlur( frame, out, Size(5, 5), 0, 0 );
cvtColor( out ,out2, CV_BGR2GRAY ); // produces out2, a one-channel image (CV_8UC1)
Canny( out2, canny, 100, 200, 3 ); // the result goes to out2 again,but since it is still one channel it is fine
imshow( "Canny", canny );
cvtColor(canny, hough, CV_GRAY2BGR);
vector<Vec4i> lines;
HoughLinesP(canny, lines, 1, CV_PI/180, 50, 100, 10 );
for( size_t i = 0; i < lines.size(); i++ )
{
Vec4i l = lines[i];
//line( hough, Point(l[0], l[1]), Point(l[2], l[3]), Scalar(0,0,255), 3, CV_AA);
cout << Point(l[0], l[1]) << endl;
cout << Point(l[2], l[3]) << endl;
}
imshow("Lines", hough);
if( !frame.data ) break;
char c = cvWaitKey(33);
if( c == 'c' ) break;
}
return 0;
}
日志输出
'openCV.exe': Loaded 'C:\Users\Aaron\Documents\Visual Studio 2010\Projects\openCV\Release\openCV.exe', Symbols loaded.
'openCV.exe': Loaded 'C:\Windows\SysWOW64\ntdll.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\kernel32.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\KernelBase.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\WRusr.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\OpenCV\build\x86\vc11\bin\opencv_core246.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\OpenCV\build\x86\vc11\bin\opencv_imgproc246.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\OpenCV\build\x86\vc11\bin\opencv_highgui246.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\msvcp100.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\msvcr100.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\msvcrt.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\user32.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\shell32.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\ole32.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\advapi32.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\psapi.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\ws2_32.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\urlmon.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\wininet.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\oleacc.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\rpcrt4.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\oleaut32.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\shlwapi.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\secur32.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\gdi32.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\msimg32.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\msvcp110.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\msvcr110.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.9600.16384_none_7c55c866aa0c3ff0\comctl32.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\msvfw32.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\avifil32.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\avicap32.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\combase.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\sechost.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\nsi.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\iertutil.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\sspicli.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\winmm.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\msacm32.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\version.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\cryptbase.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\winmmbase.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\bcryptprimitives.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\cfgmgr32.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\devobj.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\imm32.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\msctf.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\SHCore.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\profapi.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\uxtheme.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\dwmapi.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\kernel.appcore.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\clbcatq.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\devenum.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\setupapi.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\ntmarta.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\wintrust.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\crypt32.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\msasn1.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\msdmo.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\qcap.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\quartz.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\ksproxy.ax', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\ksuser.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\d3d9.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\vidcap.ax', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\Kswdmcap.ax', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\mfc42.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\odbc32.dll', Cannot find or open the PDB file
The thread 'Win32 Thread' (0x1f8) has exited with code 0 (0x0).
'openCV.exe': Loaded 'C:\Windows\SysWOW64\qedit.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\comdlg32.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\WinSxS\x86_microsoft.windows.gdiplus_6595b64144ccf1df_1.1.9600.16384_none_dadf89385bc5c7d7\GdiPlus.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\ddraw.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\dciman32.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\nvd3dum.dll', Cannot find or open the PDB file
The thread 'Win32 Thread' (0xccc) has exited with code 0 (0x0).
'openCV.exe': Loaded 'C:\Windows\SysWOW64\powrprof.dll', Cannot find or open the PDB file
'openCV.exe': Loaded 'C:\Windows\SysWOW64\d3dim700.dll', Cannot find or open the PDB file
'openCV.exe': Unloaded 'C:\Windows\SysWOW64\powrprof.dll'
'openCV.exe': Unloaded 'C:\Windows\SysWOW64\nvd3dum.dll'
'openCV.exe': Loaded 'C:\Windows\SysWOW64\nvd3dum.dll', Cannot find or open the PDB file
The thread 'Win32 Thread' (0x1684) has exited with code 0 (0x0).
'openCV.exe': Loaded 'C:\Windows\SysWOW64\powrprof.dll', Cannot find or open the PDB file
'openCV.exe': Unloaded 'C:\Windows\SysWOW64\powrprof.dll'
'openCV.exe': Unloaded 'C:\Windows\SysWOW64\nvd3dum.dll'
'openCV.exe': Loaded 'C:\Windows\SysWOW64\nvd3dum.dll', Cannot find or open the PDB file
The thread 'Win32 Thread' (0xc38) has exited with code 0 (0x0).
'openCV.exe': Loaded 'C:\Windows\SysWOW64\powrprof.dll', Cannot find or open the PDB file
'openCV.exe': Unloaded 'C:\Windows\SysWOW64\powrprof.dll'
'openCV.exe': Unloaded 'C:\Windows\SysWOW64\nvd3dum.dll'
The thread 'Win32 Thread' (0x22b8) has exited with code 1950154752 (0x743d0000).
HEAP[openCV.exe]: Invalid address specified to RtlFreeHeap( 028A0000, 037EBA68 )
Windows has triggered a breakpoint in openCV.exe.
This may be due to a corruption of the heap, which indicates a bug in openCV.exe or any of the DLLs it has loaded.
This may also be due to the user pressing F12 while openCV.exe has focus.
The output window may have more diagnostic information.
HEAP[openCV.exe]: Invalid address specified to RtlFreeHeap( 028A0000, 037ABB28 )
Windows has triggered a breakpoint in openCV.exe.
This may be due to a corruption of the heap, which indicates a bug in openCV.exe or any of the DLLs it has loaded.
This may also be due to the user pressing F12 while openCV.exe has focus.
The output window may have more diagnostic information.
HEAP[openCV.exe]: Invalid address specified to RtlFreeHeap( 028A0000, 037AD0D8 )
Windows has triggered a breakpoint in openCV.exe.
This may be due to a corruption of the heap, which indicates a bug in openCV.exe or any of the DLLs it has loaded.
This may also be due to the user pressing F12 while openCV.exe has focus.
The output window may have more diagnostic information.
The program '[8248] openCV.exe: Native' has exited with code 0 (0x0).