资源简介

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\link-cvtres.read.1.tlog

     文件          2  2016-05-23 09:07  普通相机标定\ConsoleApplication1\ConsoleApplication1\x64\Debug\link-cvtres.write.1.tlog

............此处省略55个文件信息

评论

共有 条评论