資源簡介
在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?);
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???10015840??2017-11-01?11:12??雙目標定MFC\data\CalibrationDatas.yml
?????文件???????5129??2017-11-01?11:12??雙目標定MFC\data\cameraParams1.yml
?????文件???????5130??2017-11-01?11:12??雙目標定MFC\data\cameraParams2.yml
?????文件?????369152??2017-11-01?11:12??雙目標定MFC\Debug\myCameraCalibration.exe
?????文件????3557652??2017-11-01?11:12??雙目標定MFC\Debug\myCameraCalibration.ilk
?????文件???11979776??2017-11-01?11:12??雙目標定MFC\Debug\myCameraCalibration.pdb
?????文件????????326??2017-10-29?09:59??雙目標定MFC\myCameraCalibration\calibdata1.txt
?????文件????????326??2017-10-29?10:00??雙目標定MFC\myCameraCalibration\calibdata2.txt
?????文件???????7679??2017-10-21?16:22??雙目標定MFC\myCameraCalibration\CvvImage.cpp
?????文件???????2113??2017-10-21?16:22??雙目標定MFC\myCameraCalibration\CvvImage.h
?????文件??????10382??2017-10-25?21:20??雙目標定MFC\myCameraCalibration\Debug\cl.command.1.tlog
?????文件?????143532??2017-10-25?21:20??雙目標定MFC\myCameraCalibration\Debug\CL.read.1.tlog
?????文件???????5496??2017-10-25?21:20??雙目標定MFC\myCameraCalibration\Debug\CL.write.1.tlog
?????文件?????274201??2017-10-30?17:04??雙目標定MFC\myCameraCalibration\Debug\CvvImage.obj
?????文件??????????2??2017-10-25?21:20??雙目標定MFC\myCameraCalibration\Debug\li
?????文件??????????2??2017-10-25?21:20??雙目標定MFC\myCameraCalibration\Debug\li
?????文件??????????2??2017-10-25?21:20??雙目標定MFC\myCameraCalibration\Debug\li
?????文件??????????2??2017-10-25?21:20??雙目標定MFC\myCameraCalibration\Debug\li
?????文件??????????2??2017-10-25?21:20??雙目標定MFC\myCameraCalibration\Debug\li
?????文件??????????2??2017-10-25?21:20??雙目標定MFC\myCameraCalibration\Debug\li
?????文件??????????2??2017-10-25?21:20??雙目標定MFC\myCameraCalibration\Debug\li
?????文件??????????2??2017-10-25?21:20??雙目標定MFC\myCameraCalibration\Debug\li
?????文件??????????2??2017-10-25?21:20??雙目標定MFC\myCameraCalibration\Debug\li
?????文件??????????2??2017-10-25?21:20??雙目標定MFC\myCameraCalibration\Debug\li
?????文件??????????2??2017-10-25?21:20??雙目標定MFC\myCameraCalibration\Debug\li
?????文件??????????2??2017-10-25?21:20??雙目標定MFC\myCameraCalibration\Debug\li
?????文件??????????2??2017-10-25?21:20??雙目標定MFC\myCameraCalibration\Debug\li
?????文件??????????2??2017-10-25?21:20??雙目標定MFC\myCameraCalibration\Debug\li
?????文件??????11360??2017-10-25?21:20??雙目標定MFC\myCameraCalibration\Debug\li
?????文件??????20630??2017-10-25?21:20??雙目標定MFC\myCameraCalibration\Debug\li
............此處省略62個文件信息
評論
共有 條評論