
相机标定时cvFindChessboardCorners怎么可以得到所有角点像素坐标的。不可能呀 答得好。追加30
这个函数。。在定标的时候说intcvFindChessboardCorners(constvoid*image,CvSizepattern_size,CvPoint2D3...
这个函数。。在定标的时候说
int cvFindChessboardCorners( const void* image, CvSize pattern_size,
CvPoint2D32f* corners, int* corner_count=NULL,
int flags=CV_CALIB_CB_ADAPTIVE_THRESH );
corners这个参数把所有角点都保存下来了。。可是每一张照片找到角点后。。。书本上说corners是一个链表。
我都无语了。。这里函数定义明明是CvPoint2D32f* 只是一个二维点指针。。怎么保存下来所有的坐标呢。。
我试了一下用vector<CvPoint2D32f> 去存这个corners。。用一次发现size也只有1啊。。一张照片就找到那么一个点???
那这个函数怎么存起所有角点的像素坐标呢??? 展开
int cvFindChessboardCorners( const void* image, CvSize pattern_size,
CvPoint2D32f* corners, int* corner_count=NULL,
int flags=CV_CALIB_CB_ADAPTIVE_THRESH );
corners这个参数把所有角点都保存下来了。。可是每一张照片找到角点后。。。书本上说corners是一个链表。
我都无语了。。这里函数定义明明是CvPoint2D32f* 只是一个二维点指针。。怎么保存下来所有的坐标呢。。
我试了一下用vector<CvPoint2D32f> 去存这个corners。。用一次发现size也只有1啊。。一张照片就找到那么一个点???
那这个函数怎么存起所有角点的像素坐标呢??? 展开
展开全部
cv开头的函数都是C版本的,所以不会有vector之类C++ STL库里才有的东西。
CvPoint2D32f* 确实是你要找角点的指针,不过要事先分配好空间,否则会出现内存非法访问:
CvPoint2D32f* pCorners = new CvPoint2D32f[n];
如果用C语言的话,需要用malloc函数
还可以使用cvFindChessBoradCornerGuesses函数
CvPoint2D32f* 确实是你要找角点的指针,不过要事先分配好空间,否则会出现内存非法访问:
CvPoint2D32f* pCorners = new CvPoint2D32f[n];
如果用C语言的话,需要用malloc函数
还可以使用cvFindChessBoradCornerGuesses函数
更多追问追答
追问
直接在VS里面用vector就可以啦。。。
追答
你不能用vector,必须使用数组。说过了,cv开头的函数都是C版本的函数,vector是C++才有的东西,不能替代数组。你注意下函数的输入参数。

2024-11-14 广告
标定板认准大凡光学科技,专业生产研发厂家,专业从事光学影像测量仪,光学投影测量仪.光学三维测量仪,光学二维测量仪,光学二维测量仪,光学三维测量仪,光学二维测量仪.的研发生产销售。东莞市大凡光学科技有限公司创立于 2018 年,公司总部坐落于...
点击进入详情页
本回答由东莞大凡提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询