X-Git-Url: https://vcs.maemo.org/git/?a=blobdiff_plain;f=filters%2FCalibFilter%2FCalibFilter.h;fp=filters%2FCalibFilter%2FCalibFilter.h;h=0000000000000000000000000000000000000000;hb=e4c14cdbdf2fe805e79cd96ded236f57e7b89060;hp=a1be480878b16a23af0269e42fa6a63d168e8e89;hpb=454138ff8a20f6edb9b65a910101403d8b520643;p=opencv diff --git a/filters/CalibFilter/CalibFilter.h b/filters/CalibFilter/CalibFilter.h deleted file mode 100644 index a1be480..0000000 --- a/filters/CalibFilter/CalibFilter.h +++ /dev/null @@ -1,202 +0,0 @@ -/*M/////////////////////////////////////////////////////////////////////////////////////// -// -// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. -// -// By downloading, copying, installing or using the software you agree to this license. -// If you do not agree to this license, do not download, install, -// copy or use the software. -// -// -// Intel License Agreement -// For Open Source Computer Vision Library -// -// Copyright (C) 2000, Intel Corporation, all rights reserved. -// Third party copyrights are property of their respective owners. -// -// Redistribution and use in source and binary forms, with or without modification, -// are permitted provided that the following conditions are met: -// -// * Redistribution's of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// -// * Redistribution's in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// -// * The name of Intel Corporation may not be used to endorse or promote products -// derived from this software without specific prior written permission. -// -// This software is provided by the copyright holders and contributors "as is" and -// any express or implied warranties, including, but not limited to, the implied -// warranties of merchantability and fitness for a particular purpose are disclaimed. -// In no event shall the Intel Corporation or contributors be liable for any direct, -// indirect, incidental, special, exemplary, or consequential damages -// (including, but not limited to, procurement of substitute goods or services; -// loss of use, data, or profits; or business interruption) however caused -// and on any theory of liability, whether in contract, strict liability, -// or tort (including negligence or otherwise) arising in any way out of -// the use of this software, even if advised of the possibility of such damage. -// -//M*/ - -#pragma once - -#include "CV.h" -#include "Calib3DWindow.h" - -class CCalibFilter : public CTransInPlaceFilter, - public ICalibFilter, - public ISpecifyPropertyPages, - public CPersistStream -{ - -public: - - // Constructor - CCalibFilter( TCHAR *tszName, LPUNKNOWN punk, HRESULT *phr); - - // Destructor - ~CCalibFilter(); - - static CUnknown * WINAPI CreateInstance(LPUNKNOWN punk, HRESULT *phr); - - // Reveals CCalibFilter & ISpecifyPropertyPages - STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, void ** ppv); - - DECLARE_IUNKNOWN; - - HRESULT Transform(IMediaSample *pSample); - HRESULT CheckInputType(const CMediaType *mtIn); - HRESULT GetMediaType(int iPosition, CMediaType *pMediaType); - HRESULT DecideBufferSize(IMemAllocator *pAlloc,ALLOCATOR_PROPERTIES *pProperties); - HRESULT CheckTransform(const CMediaType *mtIn,const CMediaType *mtOut); - - // ICCalibFilter methods - STDMETHODIMP get_EtalonParams( - CalibEtalonType* etalon_type, - float* etalon_params, - long* etalon_param_count); - - STDMETHODIMP set_EtalonParams( - CalibEtalonType etalon_type, - float* etalon_params, - long etalon_param_count); - - STDMETHODIMP get_FrameInterval( - long* count); - - STDMETHODIMP set_FrameInterval( - long count); - - STDMETHODIMP get_FramesToCollect( - long* frames); - - STDMETHODIMP set_FramesToCollect( - long frames); - - STDMETHODIMP StartCalibrate(); - -//////////////////////////////// - - STDMETHODIMP get_EnableFilter( - long* enable); - - STDMETHODIMP set_EnableFilter( - long enable); - - STDMETHODIMP get_EnableUndistortion( - long* enable); - - STDMETHODIMP set_EnableUndistortion( - long enable); - - STDMETHODIMP get_Show3DWindow( - long* enable); - - STDMETHODIMP set_Show3DWindow( - long enable); - - STDMETHODIMP get_TrackEtalon( - long* enable); - - STDMETHODIMP set_TrackEtalon( - long enable); - - STDMETHODIMP Update3DWindow(); - - STDMETHODIMP SaveCameraParams(); - - STDMETHODIMP LoadCameraParams(); - -//////////////////////////////// - - STDMETHODIMP GetCameraParams( CvCameraParams* camera ); - - STDMETHODIMP GetState( - CalibState* calib_state, - long* frames_collected, - long* frames_passed, - double* last_frame_time); - - // ISpecifyPropertyPages method - STDMETHODIMP GetPages(CAUUID *pPages); - - // IPersistStream implementation - STDMETHODIMP GetClassID( CLSID *pClsID ); - int SizeMax(); - DWORD GetSoftwareVersion(); - //STDMETHODIMP Save(LPSTREAM pStm, BOOL fClearDirty); - - HRESULT ReadFromStream( IStream* stream ); - HRESULT WriteToStream( IStream* stream ); - -private: - - void CheckReallocBuffers( IplImage* rgb_img ); - void ProcessFrame( IplImage* rgb_img, double frame_time ); - void CalculateCameraParams( CvSize img_size ); - double GetFrameTime( IMediaSample* sample ); - void DrawEtalon( IplImage* rgb_img, CvPoint2D32f* corners, - int corner_count, CvSize etalon_size, - int draw_ordered ); - void FillEtalonObjPoints( CvPoint3D32f* obj_points, - CvSize etalon_size, - float square_size ); - - CvSize GetEtalonSize(); - - // Non interface locking critical section - CCritSec m_CCalibFilterLock; - CalibFilterParams m_params, m_initial_params; - - /* temporary images, used in processing */ - IplImage* m_gray_img; - IplImage* m_thresh_img; - IplImage* m_undist_img; - - /* processed frame */ - IplImage* m_rgb_img; - - /* calibration buffers */ - int m_max_points; - CvPoint2D32f* m_imagePoints; - CvPoint3D32f* m_objectPoints; - CvPoint3D32f* m_transVects; - float* m_rotMatrs; - int* m_numsPoints; - HANDLE m_thread; - - /* camera parameters */ - CvCameraParams m_camera; - - /* 3D OpenGL window */ - CCalib3DWindow* m_window3D; - - /* undistortion data */ - CvCameraParams m_undistort_params; - IplImage* m_undistort_data; - -}; /* CCalibFilter */ - -/* End of file. */ -