如何利用Matlab APPS camera calibrator 测相机内部参数!!

如何利用Matlab APPS  camera calibrator 测相机内部参数!!


第一步:打开 Matlab APPS  camera calibrator

如何利用Matlab APPS camera calibrator 测相机内部参数!!_第1张图片



第二步:打开Add Images  添加拍好的棋盘图(建议添加20多幅)  注:最后会提供生成棋盘的代码,只需要将生成的图片进行打印即可!

如何利用Matlab APPS camera calibrator 测相机内部参数!!_第2张图片



第三步:设置棋盘格单个格子的边长

如何利用Matlab APPS camera calibrator 测相机内部参数!!_第3张图片


第四步:点击OK 后  会进行检测,然后显示检测结果,Rejected images 不能太多,否则可能拍的照片不符合规则

如何利用Matlab APPS camera calibrator 测相机内部参数!!_第4张图片如何利用Matlab APPS camera calibrator 测相机内部参数!!_第5张图片


第五步:点击Calibrate,等待一会即可生成数据

如何利用Matlab APPS camera calibrator 测相机内部参数!!_第6张图片



第六步:点击Export Camera Parameters 就可以保存参数了!



下面打开保存的参数:


如何利用Matlab APPS camera calibrator 测相机内部参数!!_第7张图片

一般来说,我们只需要内部参数,也就是fx,fy (焦距)   Cx, Cy(光学中心)


 对应的是fx :(1,1) fy :(2,2)       Cx :(3,1)  Cy : (3,2)    



棋盘图的代码:

#include "cv.h"
#include "highgui.h"
#include "cxcore.h"

int main(int argc, char*argv[])
{
    int width = 140;//棋盘格宽度
    int height = 140;//棋盘格高度
    IplImage *src = cvCreateImage(cvSize(980,1260), IPL_DEPTH_8U, 1);
    cvZero(src);
    for (int i = 0; i < src->height; i++)
    {
        for (int j = 0; j < src->width; j++)
        {
            if ((i / width + j / height) % 2 != 0)
            {
                src->imageData[i*src->widthStep + j*src->nChannels] = 255;
            }
        }
    }

    cvNamedWindow("src");
    cvShowImage("src", src);

    cvSaveImage("ChessBoard.bmp", src, 0);
    cvWaitKey(0);

    return 0;





你可能感兴趣的:(学习)