資源簡介
最近在整理自己以前做過的一些東西,這是基于opencv的魚眼攝像頭畸變校正程序的github地址(https://github.com/WordZzzz/fisheye_calibration)(不知道怎么設置免積分下載,所以只能貼上github了)。
其中:
normal_calibrate:基于OPENCV2與OPENCV3通用的函數實現,可實現USB攝像頭實時畸變校正;
fishey_calibrate:基于OPENCV3獨有的fishyey結構體實現,可實現USB攝像頭實時畸變校正;
fishey_calibrate_img:基于OPENCV3獨有的fishyey結構體實現,可實現單張圖片畸變校正;
代碼片段和文件信息
//THE?SOFTWARE?IS?PROVIDED?“AS?IS“?WITHOUT?WARRANTY?OF?ANY?KIND?EXPRESS?OR
//IMPLIED?INCLUDING?BUT?NOT?LIMITED?TO?THE?WARRANTIES?OF?MERCHANTABILITY
//FITNESS?FOR?A?PARTICULAR?PURPOSE?AND?NONINFRINGEMENT.?IN?NO?EVENT?SHALL?THE
//AUTHORS?OR?COPYRIGHT?HOLDERS?BE?LIABLE?FOR?ANY?CLAIM?DAMAGES?OR?OTHER
//LIABILITY?WHETHER?IN?AN?ACTION?OF?CONTRACT?TORT?OR?OTHERWISE?ARISING?FROM
//OUT?OF?OR?IN?CONNECTION?WITH?THE?SOFTWARE?OR?THE?USE?OR?OTHER?DEALINGS?IN
//THE?SOFTWARE.
#include??
#include?“videoInput.h“
#include?
//Include?Directshow?stuff?here?so?we?don‘t?worry?about?needing?all?the?h?files.
#include?
//#include?“streams.h“
#pragma?include_alias(?“dxtrans.h“?“qedit.h“?)
#define?__IDxtCompositor_INTERFACE_DEFINED__
#define?__IDxtAlphaSetter_INTERFACE_DEFINED__
#define?__IDxtJpeg_INTERFACE_DEFINED__
#define?__IDxtKey_INTERFACE_DEFINED__
#include?
#include?
#include?
//for?threading
#include?
#ifndef?HEADER
#define?HEADER(pVideoInfo)?(&(((VIDEOINFOHEADER?*)?(pVideoInfo))->bmiHeader))
#endif
//?Due?to?a?missing?qedit.h?in?recent?Platform?SDKs?we‘ve?replicated?the?relevant?contents?here
//?#include?
MIDL_INTERFACE(“0579154A-2B53-4994-B0D0-E773148EFF85“)
ISampleGrabberCB?:?public?IUnknown
{
??public:
????virtual?HRESULT?STDMETHODCALLTYPE?SampleCB(?
????????double?SampleTime
????????IMediaSample?*pSample)?=?0;
????
????virtual?HRESULT?STDMETHODCALLTYPE?BufferCB(?
????????double?SampleTime
????????BYTE?*pBuffer
????????long?BufferLen)?=?0;
????
};
MIDL_INTERFACE(“6B652FFF-11FE-4fce-92AD-0266B5D7C78F“)
ISampleGrabber?:?public?IUnknown
{
??public:
????virtual?HRESULT?STDMETHODCALLTYPE?SetOneShot(?
????????BOOL?OneShot)?=?0;
????
????virtual?HRESULT?STDMETHODCALLTYPE?SetMediaType(?
????????const?AM_MEDIA_TYPE?*pType)?=?0;
????
????virtual?HRESULT?STDMETHODCALLTYPE?GetConnectedMediaType(?
????????AM_MEDIA_TYPE?*pType)?=?0;
????
????virtual?HRESULT?STDMETHODCALLTYPE?SetBufferSamples(?
????????BOOL?BufferThem)?=?0;
????
????virtual?HRESULT?STDMETHODCALLTYPE?GetCurrentBuffer(?
????????/*?[out][in]?*/?long?*pBufferSize
????????/*?[out]?*/?long?*pBuffer)?=?0;
????
????virtual?HRESULT?STDMETHODCALLTYPE?GetCurrentSample(?
????????/*?[retval][out]?*/?IMediaSample?**ppSample)?=?0;
????
????virtual?HRESULT?STDMETHODCALLTYPE?SetCallback(?
????????ISampleGrabberCB?*pCallback
????????long?WhichMethodToCallback)?=?0;
????
};
EXTERN_C?const?CLSID?CLSID_SampleGrabber;
EXTERN_C?const?IID?IID_ISampleGrabber;
EXTERN_C?const?CLSID?CLSID_NullRenderer;
//use?videoInput::setVerbose?to?change?
static?bool?verbose?=?true;
//use?videoInput::setComMultiThreaded?to?change?
static?bool?VI_COM_MULTI_THREADED?=?false;?
///////////////////////////??HANDY?FUNCTIONS??/////////////////////////////
void?MyFreeMediaType(AM_MEDIA_TYPE&?mt){
????if?(mt.cbFormat?!=?0)
????{
????????CoTaskMemFree((PVOID)mt.pbFormat);
????????mt.cbFormat?=?0;
????????mt.pbFormat?=?NULL;
????}
????if?(mt.pUnk?!=?NULL)
??
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-01-28?06:05??fisheye_calibration-master\
?????文件??????????66??2018-01-28?06:05??fisheye_calibration-master\.gitattributes
?????文件???????15506??2018-01-28?06:05??fisheye_calibration-master\README.md
?????目錄???????????0??2018-01-28?06:05??fisheye_calibration-master\calibrate\
?????目錄???????????0??2018-01-28?06:05??fisheye_calibration-master\calibrate\Debug\
?????文件??????184832??2018-01-28?06:05??fisheye_calibration-master\calibrate\Debug\calibrate.exe
?????文件?????1039196??2018-01-28?06:05??fisheye_calibration-master\calibrate\Debug\calibrate.ilk
?????文件?????2199552??2018-01-28?06:05??fisheye_calibration-master\calibrate\Debug\calibrate.pdb
?????文件????46465024??2018-01-28?06:05??fisheye_calibration-master\calibrate\calibrate.sdf
?????文件?????????951??2018-01-28?06:05??fisheye_calibration-master\calibrate\calibrate.sln
?????文件???????22528??2018-01-28?06:05??fisheye_calibration-master\calibrate\calibrate.v12.suo
?????目錄???????????0??2018-01-28?06:05??fisheye_calibration-master\calibrate\calibrate\
?????目錄???????????0??2018-01-28?06:05??fisheye_calibration-master\calibrate\calibrate\Debug\
?????文件????????2115??2018-01-28?06:05??fisheye_calibration-master\calibrate\calibrate\Debug\calibrate.log
?????目錄???????????0??2018-01-28?06:05??fisheye_calibration-master\calibrate\calibrate\Debug\calibrate.tlog\
?????文件???????66822??2018-01-28?06:05??fisheye_calibration-master\calibrate\calibrate\Debug\calibrate.tlog\CL.read.1.tlog
?????文件????????1228??2018-01-28?06:05??fisheye_calibration-master\calibrate\calibrate\Debug\calibrate.tlog\CL.write.1.tlog
?????文件?????????161??2018-01-28?06:05??fisheye_calibration-master\calibrate\calibrate\Debug\calibrate.tlog\calibrate.lastbuildstate
?????文件????????1350??2018-01-28?06:05??fisheye_calibration-master\calibrate\calibrate\Debug\calibrate.tlog\cl.command.1.tlog
?????文件????????1306??2018-01-28?06:05??fisheye_calibration-master\calibrate\calibrate\Debug\calibrate.tlog\li
?????文件????????3162??2018-01-28?06:05??fisheye_calibration-master\calibrate\calibrate\Debug\calibrate.tlog\li
?????文件?????????498??2018-01-28?06:05??fisheye_calibration-master\calibrate\calibrate\Debug\calibrate.tlog\li
?????文件?????1190912??2018-01-28?06:05??fisheye_calibration-master\calibrate\calibrate\Debug\vc120.idb
?????文件?????1175552??2018-01-28?06:05??fisheye_calibration-master\calibrate\calibrate\Debug\vc120.pdb
?????文件??????400340??2018-01-28?06:05??fisheye_calibration-master\calibrate\calibrate\Debug\videoInput.obj
?????文件??????246137??2018-01-28?06:05??fisheye_calibration-master\calibrate\calibrate\Debug\源.obj
?????文件?????????260??2018-01-28?06:05??fisheye_calibration-master\calibrate\calibrate\Distortion.xm
?????文件??????166354??2018-01-28?06:05??fisheye_calibration-master\calibrate\calibrate\Image1.jpg
?????文件??????169283??2018-01-28?06:05??fisheye_calibration-master\calibrate\calibrate\Image10.jpg
?????文件??????166837??2018-01-28?06:05??fisheye_calibration-master\calibrate\calibrate\Image2.jpg
?????文件??????168060??2018-01-28?06:05??fisheye_calibration-master\calibrate\calibrate\Image3.jpg
............此處省略176個文件信息
評論
共有 條評論