资源简介
opencv 普通相机畸变标定校正http://blog.csdn.net/qq_15947787/article/details/51471535
代码片段和文件信息
//opencv2.4.9 vs2012
#include
#include
using namespace std;
using namespace cv;
int main()
{
double time0 = static_cast(getTickCount());
ofstream fout(“caliberation_result.txt“); /** 保存定标结果的文件 **/
/************************************************************************
读取每一幅图像,从中提取出角点,然后对角点进行亚像素精确化
*************************************************************************/
cout<<“开始提取角点………………“< int image_count= 21; /**** 图像数量 ****/
Size image_size; /**** 图像的尺寸 ****/
Size board_size = Size(96); /**** 定标板上每行、列的角点数 ****/
vector corners; /**** 缓存每幅图像上检测到的角点 ****/
vector> corners_Seq; /**** 保存检测到的所有角点 ****/
vector image_Seq;
int count = 0;
for( int i = 0; i != image_count ; i++)
{
cout<<“frame #“< string imageFileName;
std::stringstream StrStm;
StrStm< StrStm>>imageFileName;
imageFileName += “.jpg“;
Mat image = imread(“img“+imageFileName);
image_size = image.size();
//image_size = Size(image.cols image.rows);
/* 提取角点 */
Mat imageGray;
cvtColor(image imageGray CV_RGB2GRAY);
bool patternfound = findChessboardCorners(image board_size cornersCALIB_CB_ADAPTIVE_THRESH + CALIB_CB_NORMALIZE_IMAGE+
CALIB_CB_FAST_CHECK );
if (!patternfound)
{
cout<<“can not find chessboard corners!\n“;
continue;
exit(1);
}
else
{
/* 亚像素精确化 */
cornerSubPix(imageGray corners Size(11 11) Size(-1 -1) TermCriteria(CV_TERMCRIT_EPS + CV_TERMCRIT_ITER 30 0.1));
/* 绘制检测到的角点并保存 */
Mat imageTemp = image.clone();
for (int j = 0; j < corners.size(); j++)
{
circle( imageTemp corners[j] 10 Scalar(00255) 2 8 0);
}
string imageFileName;
std::stringstream StrStm;
StrStm< StrStm>>imageFileName;
imageFileName += “_corner.jpg“;
imwrite(imageFileNameimageTemp);
cout<<“frame corner#“<
count = count + corners.size();
corners_Seq.push_back(corners);
}
image_Seq.push_back(image);
}
cout<<“角点提取完成!\n“;
/************************************************************************
摄像机定标
*************************************************************************/
cout<<“开始定标………………“< Size square_size = Size(2020); /**** 实际测量得到的定标板上每个棋盘格的大小 ****/
vector> object_Points; /**** 保存定标板上角点的三维坐标 ****/
Mat image_points = Mat(1 count CV_32FC2 Scalar::all(0)); /***** 保存提取的所有角点 *****/
vector point_counts;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 7858 2016-05-17 17:16 普通相机标定\ConsoleApplication1\ConsoleApplication1\ConsoleApplication1.vcxproj
文件 941 2016-05-17 17:16 普通相机标定\ConsoleApplication1\ConsoleApplication1\ConsoleApplication1.vcxproj.filters
文件 108254 2016-05-22 20:00 普通相机标定\ConsoleApplication1\ConsoleApplication1\img1.jpg
文件 112129 2016-05-22 20:00 普通相机标定\ConsoleApplication1\ConsoleApplication1\img10.jpg
文件 117195 2016-05-22 20:00 普通相机标定\ConsoleApplication1\ConsoleApplication1\img11.jpg
文件 104793 2016-05-22 20:00 普通相机标定\ConsoleApplication1\ConsoleApplication1\img12.jpg
文件 100659 2016-05-22 20:00 普通相机标定\ConsoleApplication1\ConsoleApplication1\img13.jpg
文件 112332 2016-05-22 20:00 普通相机标定\ConsoleApplication1\ConsoleApplication1\img14.jpg
文件 108100 2016-05-22 20:00 普通相机标定\ConsoleApplication1\ConsoleApplication1\img15.jpg
文件 88160 2016-05-22 20:00 普通相机标定\ConsoleApplication1\ConsoleApplication1\img16.jpg
文件 100823 2016-05-22 20:00 普通相机标定\ConsoleApplication1\ConsoleApplication1\img17.jpg
文件 119271 2016-05-22 20:00 普通相机标定\ConsoleApplication1\ConsoleApplication1\img18.jpg
文件 108535 2016-05-22 20:00 普通相机标定\ConsoleApplication1\ConsoleApplication1\img19.jpg
文件 113223 2016-05-22 20:00 普通相机标定\ConsoleApplication1\ConsoleApplication1\img2.jpg
文件 104234 2016-05-22 20:00 普通相机标定\ConsoleApplication1\ConsoleApplication1\img20.jpg
文件 115189 2016-05-22 20:00 普通相机标定\ConsoleApplication1\ConsoleApplication1\img21.jpg
文件 105932 2016-05-22 20:00 普通相机标定\ConsoleApplication1\ConsoleApplication1\img3.jpg
文件 112705 2016-05-22 20:00 普通相机标定\ConsoleApplication1\ConsoleApplication1\img4.jpg
文件 112121 2016-05-22 20:00 普通相机标定\ConsoleApplication1\ConsoleApplication1\img5.jpg
文件 107660 2016-05-22 20:00 普通相机标定\ConsoleApplication1\ConsoleApplication1\img6.jpg
文件 108077 2016-05-22 20:00 普通相机标定\ConsoleApplication1\ConsoleApplication1\img7.jpg
文件 104424 2016-05-22 20:00 普通相机标定\ConsoleApplication1\ConsoleApplication1\img8.jpg
文件 109937 2016-05-22 20:00 普通相机标定\ConsoleApplication1\ConsoleApplication1\img9.jpg
文件 1346 2016-05-23 09:07 普通相机标定\ConsoleApplication1\ConsoleApplication1\x64\Debug\cl.command.1.tlog
文件 26384 2016-05-23 09:07 普通相机标定\ConsoleApplication1\ConsoleApplication1\x64\Debug\CL.read.1.tlog
文件 460 2016-05-23 09:07 普通相机标定\ConsoleApplication1\ConsoleApplication1\x64\Debug\CL.write.1.tlog
文件 100 2016-05-23 09:07 普通相机标定\ConsoleApplication1\ConsoleApplication1\x64\Debug\ConsoleApplication1.lastbuildstate
文件 3496 2016-05-23 09:07 普通相机标定\ConsoleApplication1\ConsoleApplication1\x64\Debug\ConsoleApplication1.log
文件 2 2016-05-23 09:07 普通相机标定\ConsoleApplication1\ConsoleApplication1\x64\Debug\li
文件 2 2016-05-23 09:07 普通相机标定\ConsoleApplication1\ConsoleApplication1\x64\Debug\li
............此处省略55个文件信息
- 上一篇:PCB直尺文件
- 下一篇:西门子SMART700_触摸屏的使用说明书
相关资源
- 特征点匹配Demo
- OpenCV2.2 64位
- 基于SVM的手写数字识别Opencv+图像集
- 利用OpenCV(2.4.13)的SURF/SIFT + RANSAC
- asm算法 opencv实现
- OpenCV2.4.9_基于背景差分法的视频目标
- 基于OpenCV的疲劳驾驶检测系统的设计
- OpenCV三维重构代码
- 双目测距-opencv
- opencv人脸/人眼/人体识别分类器
- opencv4.0结合TensorFlow实现mask rcnn的目标
- opencv+qt通过CGI读取网络摄像头工程
- 安装opencv342缺失的boostdesc_bgm.i系列文
- OpenCV2.4.4实现HOG行人检测
- opencv的运动跟踪
- sift算法VC实现需要OPENCV
- opencv标定单目相机
- opencv 数字识别
- itti视觉显著性计算模型opencv实现
- 异常行为检测
- qt+opencv视频图像采集与基于tcp协议的
- opencv2.4.3和4.0函数手册带目录可搜索
- 遗留物检测
- 笔记本OpenCV调用摄像头进行人脸捕捉
- VS+OPENCV手势识别
- opencv下haarclassifiercascade加上LBPHFaceRe
- 图片动漫风格化
- 基于SVM与ANN的车牌识别
- OpenCV实现同一窗口显示多幅图片
- haar特征的手势检测OpenCV
评论
共有 条评论