opencv实现摄像头内外参数标定
我用opencv自带的摄像头标定程序跑了下,可以用。现在想加段程序,用cvCalibrateCamera2来通过摄像头拍的图片算出摄像头的内外参数,不知道该如何加,结果也...
我用opencv自带的摄像头标定程序跑了下,可以用。现在想加段程序,用cvCalibrateCamera2来通过摄像头拍的图片算出摄像头的内外参数,不知道该如何加,结果也不知道如何显示。望高手指点下。
PS:我刚学vs2005和opencv没多久,对摄像头标定的理论知识了解了段时间。
我从网上弄个程序跑了下,可以算内参等参数了。这个问题基本解决了,有需要了解的可以站短我。但怎么把一张有后仰角度的图像转换成俯视角度的图像呢?就是校正因摄像头而引起的变形,用cvUndistort2?如何编译? 展开
PS:我刚学vs2005和opencv没多久,对摄像头标定的理论知识了解了段时间。
我从网上弄个程序跑了下,可以算内参等参数了。这个问题基本解决了,有需要了解的可以站短我。但怎么把一张有后仰角度的图像转换成俯视角度的图像呢?就是校正因摄像头而引起的变形,用cvUndistort2?如何编译? 展开
2个回答
展开全部
我重新编译了Calibration那个程序,然后自己写了个批处理.bat文件,代码如下,删除txt,然后调用它
del /f /q list_of_images_auto(bmp).txt
dir *.bmp /B >> list_of_images_auto(bmp).txt
OpenCV_Example_Calibration.exe -w 7 -h 8 -s 5 -o camera.txt -op -oe list_of_images_auto(bmp).txt
pause
其中-o camera.txt表示输出参数的文件名。
不过这样用着不爽。
你看源代码里面
cvWrite( fs, "camera_matrix", camera_matrix );
cvWrite( fs, "distortion_coefficients", dist_coeffs );
的地方,知道什么意思了吧,向txt里面写这两个参数
我后来是这么存的
cvSave("DistortionMatrix.xml",dist_coeffs);
cvSave("IntrinsicsMatrix.xml",camera_matrix);
这样下次调用的时候可以直接用矩阵拿来计算矫正
intrinsic = (CvMat*)cvLoad("IntrinsicsMatrix.xml");
distortion = (CvMat*)cvLoad("DistortionMatrix.xml");
。。。
cvInitUndistortMap(this->imgprocess.intrinsic, this->imgprocess.distortion, this->imgprocess.mapx, this->imgprocess.mapy);
等
del /f /q list_of_images_auto(bmp).txt
dir *.bmp /B >> list_of_images_auto(bmp).txt
OpenCV_Example_Calibration.exe -w 7 -h 8 -s 5 -o camera.txt -op -oe list_of_images_auto(bmp).txt
pause
其中-o camera.txt表示输出参数的文件名。
不过这样用着不爽。
你看源代码里面
cvWrite( fs, "camera_matrix", camera_matrix );
cvWrite( fs, "distortion_coefficients", dist_coeffs );
的地方,知道什么意思了吧,向txt里面写这两个参数
我后来是这么存的
cvSave("DistortionMatrix.xml",dist_coeffs);
cvSave("IntrinsicsMatrix.xml",camera_matrix);
这样下次调用的时候可以直接用矩阵拿来计算矫正
intrinsic = (CvMat*)cvLoad("IntrinsicsMatrix.xml");
distortion = (CvMat*)cvLoad("DistortionMatrix.xml");
。。。
cvInitUndistortMap(this->imgprocess.intrinsic, this->imgprocess.distortion, this->imgprocess.mapx, this->imgprocess.mapy);
等
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
Sievers分析仪
2024-12-30 广告
2024-12-30 广告
是的。传统上,对于符合要求的内毒素检测,最终用户必须从标准内毒素库存瓶中构建至少一式两份三点标准曲线;必须有重复的阴性控制;每个样品和PPC必须一式两份。有了Sievers Eclipse内毒素检测仪,这些步骤可以通过使用预嵌入的内毒素标准...
点击进入详情页
本回答由Sievers分析仪提供
展开全部
能不能教教我怎么标定 我不会用opencv····软件装好了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询