• 大小: 7.53MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-08-21
  • 语言: 其他
  • 标签:

资源简介

用OpenCV编写的相机标定程序,可以对相机进行标定。

资源截图

代码片段和文件信息

// cvCalib.cpp : Defines the entry point for the console application.
//

#include “stdafx.h“
#include 
#include 
#include 
#include 

void InitCorners3D(CvMat *Corners3D CvSize ChessBoardSize int Nimages float SquareSize);

int image_width = 768;
int image_height = 576;//待标定图片的大小
const int ChessBoardSize_w = 7;
const int ChessBoardSize_h = 7;//图片中可标定的角数
const CvSize  ChessBoardSize = cvSize(ChessBoardSize_wChessBoardSize_h);
const int NPoints = ChessBoardSize_w*ChessBoardSize_h;//角点个数
const int NImages=6;//待标定的图片数
int corner_count[NImages] = {0};
float    SquareWidth = 10; //棋盘格子的边长,可任意设定,不影响内参数

CvMat *intrinsics;
CvMat *distortion_coeff;
CvMat *rotation_vectors;
CvMat *translation_vectors;
CvMat *object_points;
CvMat *point_counts;
CvMat *image_points;

void main()
{
IplImage     *current_frame_rgb; 
IplImage     *current_frame_gray;
IplImage     *chessBoard_Img;
CvPoint2D32f corners[NPoints*NImages];

chessBoard_Img =cvCreateImage(cvSize(image_width image_height) IPL_DEPTH_8U 3);
current_frame_gray = cvCreateImage(cvSize(image_width image_height) IPL_DEPTH_8U 1);
current_frame_rgb = cvCreateImage(cvSize(image_width image_height) IPL_DEPTH_8U 3);

int captured_frames=0;
for(captured_frames=0;captured_framesames++)
{
char filename[]=“cal20Img00.bmp“;   //说明:我把待标定的图片的名子依次命名为:01.jpg 02.jpg 03.jpg 04.jpg……
if(captured_frames<9)
filename[9]=(char)(captured_frames+49);
else if(captured_frames>=9&&captured_frames<=99)
{
int jjj;
jj=(captured_frames+1)/10;
j=(captured_frames+1)%10;
filename[8]=jj+48;
filename[9]=j+48;
}
else 
printf(“error too many images.......\n“); //load images end

chessBoard_Img=cvLoadImage( filename CV_LOAD_IMAGE_COLOR );
cvCvtColor(chessBoard_Img current_frame_gray CV_BGR2GRAY);
        cvCopy(chessBoard_Imgcurrent_frame_rgb);

int find_corners_result;
find_corners_result = cvFindChessboardCorners(current_frame_gray
ChessBoardSize
&corners[captured_frames*NPoints]
&corner_count[captured_frames]//int corner_count[NImages] = {0};
CV_CALIB_CB_ADAPTIVE_THRESH );
cvFindCornerSubPix( current_frame_gray 
&corners[captured_frames*NPoints]
NPoints cvSize(22)cvSize(-1-1) 
cvTermCriteria(CV_TERMCRIT_ITER|CV_TERMCRIT_EPS200.03) );
cvDrawChessboardCorners(current_frame_rgb ChessBoardSize //绘制检测到的棋盘角点
&corners[captured_frames*NPoints] 
NPoints 
find_corners_result);


cvNamedWindow(“Window 0“ 1);
cvNamedWindow(“result“ 1); 
cvShowImage(“Window 0“chessBoard_Img);
cvShowImage(“result“current_frame_rgb);
cvWaitKey(0);
}

intrinsics         = cvCreateMat(33CV_32FC1);
distortion_coeff     = cvCreateMat(14CV_32FC1);
rotation_vectors     = cvCreateMat(NImages3CV_32FC1);
translation_vectors     = cvCreateMat(NImages3CV_32FC1);
point_counts         = c

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     130381  2005-11-17 13:58  cvCalibaa\01.JPG

     文件     109360  2005-11-17 13:58  cvCalibaa\02.JPG

     文件     125663  2005-11-17 13:58  cvCalibaa\03.JPG

     文件     128246  2005-11-17 13:58  cvCalibaa\04.JPG

     文件     112619  2005-11-17 13:58  cvCalibaa\05.JPG

     文件     111641  2005-11-17 13:58  cvCalibaa\06.JPG

     文件      96272  2005-11-17 13:58  cvCalibaa\07.JPG

     文件     112094  2005-11-17 13:58  cvCalibaa\08.JPG

     文件     116816  2005-11-17 13:58  cvCalibaa\09.JPG

     文件     124167  2005-11-17 13:58  cvCalibaa\10.JPG

     文件     110629  2005-11-17 13:58  cvCalibaa\11.JPG

     文件     123652  2005-11-17 13:58  cvCalibaa\12.JPG

     文件     104432  2005-11-17 13:58  cvCalibaa\13.JPG

     文件     125925  2005-11-17 13:59  cvCalibaa\14.JPG

     文件     110361  2005-11-17 13:59  cvCalibaa\15.JPG

     文件     109461  2005-11-17 13:59  cvCalibaa\16.JPG

     文件     110558  2005-11-17 13:59  cvCalibaa\17.JPG

     文件     111244  2005-11-17 13:59  cvCalibaa\18.JPG

     文件     126039  2005-11-17 13:59  cvCalibaa\19.JPG

     文件     443446  2008-10-13 14:14  cvCalibaa\cal20Img00.bmp

     文件     443446  2008-10-13 14:14  cvCalibaa\cal20Img01.bmp

     文件     443446  2008-10-13 14:14  cvCalibaa\cal20Img02.bmp

     文件     443446  2008-10-13 14:15  cvCalibaa\cal20Img03.bmp

     文件     443446  2008-10-13 14:15  cvCalibaa\cal20Img04.bmp

     文件     443446  2008-10-13 14:15  cvCalibaa\cal20Img05.bmp

     文件     443446  2008-10-13 14:15  cvCalibaa\cal20Img06.bmp

     文件     843824  2006-10-18 21:49  cvCalibaa\cv100.dll

     文件       6840  2008-12-09 11:22  cvCalibaa\cvCalib.cpp

     文件       3975  2008-11-28 16:39  cvCalibaa\cvCalib.dsp

     文件        539  2007-10-20 15:56  cvCalibaa\cvCalib.dsw

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

评论

共有 条评论

相关资源