相机标定——基于张正友标定标定法与MFC的单目相机标定


本次介绍的是基于张正友标定法的基础并结合MFC的界面化操作来实现的单目相机标定。
资源截图
代码片段和文件信息
#include “StdAfx.h“  
#include “CvvImage.h“  
//////////////////////////////////////////////////////////////////////  
// Construction/Destruction  
//////////////////////////////////////////////////////////////////////  
CV_INLINE RECT NormalizeRect( RECT r );  
CV_INLINE RECT NormalizeRect( RECT r )  
{  
   int t;  
   if( r.left > r.right )  
   {  
      t = r.left;  
      r.left = r.right;  
      r.right = t;  
   }  
   if( r.top > r.bottom )  
   {  
      t = r.top;  
      r.top = r.bottom;  
      r.bottom = t;  
   }  
  
   return r;  
}  
CV_INLINE CvRect RectToCvRect( RECT sr );  
CV_INLINE CvRect RectToCvRect( RECT sr )  
{  
   sr = NormalizeRect( sr );  
   return cvRect( sr.left sr.top sr.right - sr.left sr.bottom - sr.top );  
}  
CV_INLINE RECT CvRectToRect( CvRect sr );  
CV_INLINE RECT CvRectToRect( CvRect sr )  
{  
   RECT dr;  
   dr.left = sr.x;  
   dr.top = sr.y;  
   dr.right = sr.x + sr.width;  
   dr.bottom = sr.y + sr.height;  
  
   return dr;  
}  
CV_INLINE IplROI RectToROI( RECT r );  
CV_INLINE IplROI RectToROI( RECT r )  
{  
   IplROI roi;  
   r = NormalizeRect( r );  
   roi.xOffset = r.left;  
   roi.yOffset = r.top;  
   roi.width = r.right - r.left;  
   roi.height = r.bottom - r.top;  
   roi.coi = 0;  
  
   return roi;  
}  
void  FillBitmapInfo( BITMAPINFO* bmi int width int height int bpp int origin )  
{  
   assert( bmi && width >= 0 && height >= 0 && (bpp == 8 || bpp == 24 || bpp == 32));  
  
   BITMAPINFOHEADER* bmih = &(bmi->bmiHeader);  
  
   memset( bmih 0 sizeof(*bmih));  
   bmih->biSize = sizeof(BITMAPINFOHEADER);  
   bmih->biWidth = width;  
   bmih->biHeight = origin ? abs(height) : -abs(height);  
   bmih->biPlanes = 1;  
   bmih->biBitCount = (unsigned short)bpp;  
   bmih->biCompression = BI_RGB;  
   if( bpp == 8 )  
   {  
      RGBQUAD* palette = bmi->bmiColors;  
      int i;  
      for( i = 0; i < 256; i++ )  
      {  
         palette[i].rgbBlue = palette[i].rgbGreen = palette[i].rgbRed = (BYTE)i;  
         palette[i].rgbReserved = 0;  
      }  
   }  
}  
CvvImage::CvvImage()  
{  
   m_img = 0;  
}  
void CvvImage::Destroy()  
{  
   cvReleaseImage( &m_img );  
}  
CvvImage::~CvvImage()  
{  
   Destroy();  
}  
bool  CvvImage::Create( int w int h int bpp int origin )  
{  
   const unsigned max_img_size = 10000;  
  
   if( (bpp != 8 && bpp != 24 && bpp != 32) ||  
      (unsigned)w >=  max_img_size || (unsigned)h >= max_img_size ||  
      (origin != IPL_ORIGIN_TL && origin != IPL_ORIGIN_BL))  
   {  
      assert(0); // most probably it is a programming error  
      return false;  
   }  
   if( !m_img || Bpp() != bpp || m_img->width != w || m_img->height != h )  
   {  
      if( m_img && m_img->nSize == sizeof(IplImage))  
         Destroy();  
      /* prepare IPL header */  
      m_img = cvCreateImage( cvSize( w h ) IPL_DEPTH_8U bpp/8 );

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

     文件     367104  2017-10-22 14:43  myCameraCalibrationDebugmyCameraCalibration.exe

     文件    1876068  2017-10-22 14:43  myCameraCalibrationDebugmyCameraCalibration.ilk

     文件    9513984  2017-10-22 14:43  myCameraCalibrationDebugmyCameraCalibration.pdb

     文件        297  2017-10-22 10:30  myCameraCalibrationmyCameraCalibrationcalibdata.txt

     文件       6392  2017-10-22 15:20  myCameraCalibrationmyCameraCalibrationcalibresult.txt

     文件      22201  2017-10-22 15:20  myCameraCalibrationmyCameraCalibrationchesscorners.txt

     文件       7679  2017-10-21 16:22  myCameraCalibrationmyCameraCalibrationCvvImage.cpp

     文件       2113  2017-10-21 16:22  myCameraCalibrationmyCameraCalibrationCvvImage.h

     文件      10094  2017-10-22 14:43  myCameraCalibrationmyCameraCalibrationDebugcl.command.1.tlog

     文件     196114  2017-10-22 14:43  myCameraCalibrationmyCameraCalibrationDebugCL.read.1.tlog

     文件       5548  2017-10-22 14:43  myCameraCalibrationmyCameraCalibrationDebugCL.write.1.tlog

     文件     278206  2017-10-22 14:43  myCameraCalibrationmyCameraCalibrationDebugCvvImage.obj

     文件          2  2017-10-22 14:43  myCameraCalibrationmyCameraCalibrationDebuglink-cvtres.read.1.tlog

     文件          2  2017-10-22 14:43  myCameraCalibrationmyCameraCalibrationDebuglink-cvtres.write.1.tlog

     文件          2  2017-10-22 14:43  myCameraCalibrationmyCameraCalibrationDebuglink-mt.read.1.tlog

     文件          2  2017-10-22 14:43  myCameraCalibrationmyCameraCalibrationDebuglink-mt.write.1.tlog

     文件          2  2017-10-22 14:43  myCameraCalibrationmyCameraCalibrationDebuglink-rc.read.1.tlog

     文件          2  2017-10-22 14:43  myCameraCalibrationmyCameraCalibrationDebuglink-rc.write.1.tlog

     文件          2  2017-10-22 14:43  myCameraCalibrationmyCameraCalibrationDebuglink.1732-cvtres.read.1.tlog

     文件          2  2017-10-22 14:43  myCameraCalibrationmyCameraCalibrationDebuglink.1732-cvtres.write.1.tlog

     文件          2  2017-10-22 14:43  myCameraCalibrationmyCameraCalibrationDebuglink.1732-mt.read.1.tlog

     文件          2  2017-10-22 14:43  myCameraCalibrationmyCameraCalibrationDebuglink.1732-mt.write.1.tlog

     文件          2  2017-10-22 14:43  myCameraCalibrationmyCameraCalibrationDebuglink.1732-rc.read.1.tlog

     文件          2  2017-10-22 14:43  myCameraCalibrationmyCameraCalibrationDebuglink.1732-rc.write.1.tlog

     文件          2  2017-10-22 14:43  myCameraCalibrationmyCameraCalibrationDebuglink.1732.read.1.tlog

     文件          2  2017-10-22 14:43  myCameraCalibrationmyCameraCalibrationDebuglink.1732.write.1.tlog

     文件          2  2017-10-22 14:43  myCameraCalibrationmyCameraCalibrationDebuglink.2192-cvtres.read.1.tlog

     文件          2  2017-10-22 14:43  myCameraCalibrationmyCameraCalibrationDebuglink.2192-cvtres.write.1.tlog

     文件          2  2017-10-22 14:43  myCameraCalibrationmyCameraCalibrationDebuglink.2192-mt.read.1.tlog

     文件          2  2017-10-22 14:43  myCameraCalibrationmyCameraCalibrationDebuglink.2192-mt.write.1.tlog

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)