|
发表于 2013-3-5 16:16:33
|
显示全部楼层
【代码】单目摄像机标定程序_分享
首先感谢楼主的代码分享,其中我有几个问题想询问哈。
第一点,在
step=successes*total_per_image; //计算存储相应坐标数据的步长
for(int i=step,j=0;j<total_per_image;++i,++j){
CV_MAT_ELEM(*image_points,float,i,0)=image_points_buf[j].x;
CV_MAT_ELEM(*image_points,float,i,1)=image_points_buf[j].y;
CV_MAT_ELEM(*object_points,float,i,0)=(float)((j/board_width)*square_length);
CV_MAT_ELEM(*object_points,float,i,1)=(float)((j%board_width)*square_height);
中,为什么给object_points赋值的时候是利用j/board_width和j%board_width,还有为什么还要乘以square_length呢,最后为什么好要强制转型为float型呢?
第二点,在
cout<<"按任意键开始计算摄像机内参数...\\n\\n";
CvCapture* capture1;
capture1=cvCreateCameraCapture(0);
IplImage * show_colie;
show_colie=cvQueryFrame(capture1);
中为什么还要抓取图像一次呢,有什么道理呢
我是新手,希望楼主能够不厌其烦的帮忙解释下哈。呵呵,谢谢了 |
|