opencv 图像检测角点时出了问题...

做一个读取视频第一帧图像并检测角点的程序,用的是cvGoodFeaturesToTrack()函数,调试时总出现“**exe中的0x753fd36f处未处理的异常:Mic... 做一个读取视频第一帧图像并检测角点的程序,用的是cvGoodFeaturesToTrack()函数,调试时总出现“**exe 中的 0x753fd36f 处未处理的异常: Microsoft C++ 异常: 内存位置 0x0029ea2c 处的 cv::Exception。”点中断后就显示“没有为任何调用堆栈框架加载任何符号。无法显示源代码。”搞了两天了。。求帮忙啊。!!感激不尽。!!!!!!
下面是程序(头文件就没复制过来了):
const int MAX_CORNERS = 500;
int main(int argc, char ** argv)
{
cvNamedWindow("1",0);
cvResizeWindow("1",300,200);
CvCapture* capture=cvCreateFileCapture("C:/Users/zzh/Desktop/未名命.avi");
IplImage* imgA=cvQueryFrame(capture);
cvShowImage("1",imgA);
cvWaitKey(0);
CvSize img_sz = cvGetSize( imgA );
IplImage * eig_image = cvCreateImage(img_sz, IPL_DEPTH_32F, 1);
IplImage * tmp_image = cvCreateImage(img_sz, IPL_DEPTH_32F, 1);
int corner_count = MAX_CORNERS;
CvPoint2D32f * cornersA = new CvPoint2D32f[ MAX_CORNERS ];
cvGoodFeaturesToTrack(
imgA,
eig_image,
tmp_image,
cornersA,
&corner_count,
0.01,
5.0,
0,
3,
0,
0.04
);
printf("cvgoodfeaturestotrack is done\n");
}
展开
 我来答
aronk_
2012-12-10 · TA获得超过532个赞
知道小有建树答主
回答量:121
采纳率:100%
帮助的人:201万
展开全部
检查下cvGoodFeaturesToTrack()函数输入格式是否正确:image ,eig_image ,temp_image;这三个格式分别是:uchar/F32,F32,F32

不是格式问题,确保imgA的取到图像的前提下,修改后面参数“3,0,04”为“3,1,0.04”试试
追问
是图片没有转化为单通道的原因。已经解决了,谢谢你,。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
东莞大凡
2024-11-19 广告
作为东莞市大凡光学科技有限公司的工作人员,对于halcon标定板有所了解。Halcon标定板是高精度相机标定的关键工具,通常采用实心圆点或方格作为标志点。我们公司提供的halcon标定板,具有高精度、稳定可靠的特点,适用于机器视觉领域的各种... 点击进入详情页
本回答由东莞大凡提供
匿名用户
2012-12-09
展开全部
代码看看
追问
代码有点长,提交不了...我给你链接帮忙看一下好吗?谢谢。。http://www.opencv.org.cn/forum/viewtopic.php?f=1&t=23611
追答
看下imgA中的nChannels是不是为1,cvGoodFeaturesToTrack只能检测单通道图像

你把IplImage* imgA=cvQueryFrame(capture);后的图像保存看看是不是正确的,其他部分没有问题

最后注意对资源的释放
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式