C++ Windows已触发一个断点opencv vs2010

C++ Windows已触发一个断点opencv vs2010,c++,opencv,hough-transform,C++,Opencv,Hough Transform,底部的代码给出了结果: 按下某个键时,将显示一条错误消息: 我怎样才能解决这个问题?在VS2010 Win8和WinXp上测试,使用MFC作为静态库。 EDIT1:在这两种情况下,目标平台都是Win32 EDIT2:当MFC的使用切换到“使用标准windows库”时,问题在Win8上消失。在WinXp上,它给出访问冲突并指向free.c:retval=HeapFree(_crtheap,0,pBlock) EDIT3:使用Opencv 2.4.7 #include <opencv2

底部的代码给出了结果:

按下某个键时,将显示一条错误消息:

我怎样才能解决这个问题?在VS2010 Win8和WinXp上测试,使用MFC作为静态库。
EDIT1:在这两种情况下,目标平台都是Win32
EDIT2:当MFC的使用切换到“使用标准windows库”时,问题在Win8上消失。在WinXp上,它给出访问冲突并指向free.c:retval=HeapFree(_crtheap,0,pBlock)
EDIT3:使用Opencv 2.4.7

#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>

using namespace cv;

int mindistance = 50; // minimum distance between 2 circle centres       
int hi = 255, lo = 20; //the maximum and minimum radius of the circles


int main(int argc, char* argv[]) {

Mat orig = imread(argv[1]);
Mat display = orig.clone();
Mat snooker, edges;
cvtColor(orig, snooker, CV_RGB2GRAY);
Canny(snooker, edges, 20, 50, 3);
vector<Vec3f> circles;

HoughCircles(edges, circles, CV_HOUGH_GRADIENT, 1, mindistance, hi, lo);

for( size_t i = 0; i < circles.size(); i++ ) 
{

    Point center(cvRound(circles[i][0]), cvRound(circles[i][1]));
    int radius = cvRound(circles[i][2]);
    if (radius < (min(snooker.rows, snooker.cols)/10) ) 
        continue;

    // draw the green circle center
    circle( display, center, 3, Scalar(0,255,0), -1, 8, 0 );

    // draw the blue circle outline
    circle( display, center, radius, Scalar(255,0,0), 3, 8, 0 );

}

imshow( "circles", display );
imshow("snooker", snooker);
imshow("edges", edges);
waitKey();

return 0;

}
#包括
#包括
#包括
使用名称空间cv;
int mindistance=50;//两个圆心之间的最小距离
int hi=255,lo=20//圆的最大和最小半径
int main(int argc,char*argv[]){
Mat orig=imread(argv[1]);
Mat display=orig.clone();
桌球垫,边缘;
CVT颜色(原版、斯诺克、CV_rgb2灰色);
坎尼(斯诺克,边缘,20,50,3);
矢量圆;
HOUGH圆(边、圆、CV_-HOUGH_梯度、1、距离、高、低);
对于(size_t i=0;i
类似于

由于使用MFC作为静态库,因此应该在/staticlib而不是/lib中添加.lib

例如“opencv\build\x86\vc10\staticlib”

并添加以下附加的.lib

(in /staticlib but not in /lib,example for debug version as 'd' before '.lib')
libpngd.lib
libtiffd.lib
zlibd.lib
IlmImfd.lib
libjasperd.lib
libjpegd.lib

(part of mfc i thought)
comctl32.lib
gdi32.lib
vfw32.lib

根据

的规定,不允许在SO上使用特定的映像主机。