永发信息网

c++问题,debug assertion failed!调试可能是析构问题

答案:2  悬赏:30  手机版
解决时间 2021-02-25 09:24
  • 提问者网友:戎马万世
  • 2021-02-24 23:00
mfc,窗口点击某个按钮,执行下边程序。出现
debug assertion failed!!!!
调试,发现就出现在最后一个大括号,也就是析构出现了问题。view与view_gray,好奇怪!
void CCalibration::cvut_test()
{

ifstream fin("calibdata.txt");
ofstream fout("caliberation_result.txt");
int image_count=0;
CvSize image_size;
CvSize board_size = cvSize(14,14);
CvPoint2D32f* image_points_buf = new CvPoint2D32f[board_size.width*board_size.height];
Seq image_points_seq;

string filename;
int count;

getline(fin,filename);

image_count++;

Image view(filename);
if (image_count == 1) {
image_size.width = view.size().width;
image_size.height = view.size().height;
}

if (0 == cvFindChessboardCorners( view.cvimage, board_size,
image_points_buf, &count, CV_CALIB_CB_ADAPTIVE_THRESH ))
{
// cout<<"can not find chessboard corners!\n";
exit(1);
} else
{
Image view_gray(view.size(),8,1);
rgb2gray(view,view_gray);

cvFindCornerSubPix( view_gray.cvimage, image_points_buf, count, cvSize(11,11),
cvSize(-1,-1), cvTermCriteria( CV_TERMCRIT_EPS+CV_TERMCRIT_ITER, 30, 0.1 ));
image_points_seq.push_back(image_points_buf,count);

cvDrawChessboardCorners( view.cvimage, board_size, image_points_buf, count, 1);
view.show("calib");
cvWaitKey();
view.close();
}
delete []image_points_buf;
cout<<"角点提取完成!\n";
}
最佳答案
  • 五星知识达人网友:风格不统一
  • 2021-02-25 00:12
openCV吗? 有的地方 不是自己分配的是不需要析构的。openCV我还是喜欢QT+Linux。呵呵。不玩VC好多年。
全部回答
  • 1楼网友:归鹤鸣
  • 2021-02-25 01:51
很奇怪,我帮你试了一下,将cstring 赋值的时候就出错了。不知道怎么回事。 错误显示在afx.h头文件里
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯