1 /*M///////////////////////////////////////////////////////////////////////////////////////
3 // IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
5 // By downloading, copying, installing or using the software you agree to this license.
6 // If you do not agree to this license, do not download, install,
7 // copy or use the software.
10 // Intel License Agreement
11 // For Open Source Computer Vision Library
13 // Copyright (C) 2000, Intel Corporation, all rights reserved.
14 // Third party copyrights are property of their respective owners.
16 // Redistribution and use in source and binary forms, with or without modification,
17 // are permitted provided that the following conditions are met:
19 // * Redistribution's of source code must retain the above copyright notice,
20 // this list of conditions and the following disclaimer.
22 // * Redistribution's in binary form must reproduce the above copyright notice,
23 // this list of conditions and the following disclaimer in the documentation
24 // and/or other materials provided with the distribution.
26 // * The name of Intel Corporation may not be used to endorse or promote products
27 // derived from this software without specific prior written permission.
29 // This software is provided by the copyright holders and contributors "as is" and
30 // any express or implied warranties, including, but not limited to, the implied
31 // warranties of merchantability and fitness for a particular purpose are disclaimed.
32 // In no event shall the Intel Corporation or contributors be liable for any direct,
33 // indirect, incidental, special, exemplary, or consequential damages
34 // (including, but not limited to, procurement of substitute goods or services;
35 // loss of use, data, or profits; or business interruption) however caused
36 // and on any theory of liability, whether in contract, strict liability,
37 // or tort (including negligence or otherwise) arising in any way out of
38 // the use of this software, even if advised of the possibility of such damage.
43 typedef enum _CalibState
45 CalibState_Initial = 0,
46 CalibState_NotCalibrated = 1,
47 CalibState_Calibrated = 2,
48 CalibState_CalibrationProcess = 3
52 typedef enum _CalibEtalonType
54 CalibEtalon_ChessBoard = 0
58 typedef struct _CvCameraParams
62 float principalPoint[2];
69 typedef struct _CalibFilterParams
71 CalibEtalonType etalon_type;
72 long etalon_params_count;
73 float etalon_params[7];
75 long show_feature_points_flag;
77 long frames_to_collect;
78 long frames_collected;
80 double last_frame_time;
81 CalibState calib_state;
82 long enable_undistortion;
91 // 0x1010045, 0x1d0, 0x6, 0x1, 0x0, 0x0, 0x0, 0x0, 0xe5, 0x12, 0x0
92 DEFINE_GUID(IID_ICalibFilter, 0x1010045, 0x1d0, 0x6, 0x1, 0x0, 0x0, 0x0, 0x0, 0xe5, 0x12, 0x0 );
93 DECLARE_INTERFACE_(ICalibFilter, IUnknown)
95 STDMETHOD(get_EtalonParams ) (THIS_
96 CalibEtalonType* etalon_type,
98 long* etalon_param_count
101 STDMETHOD(set_EtalonParams ) (THIS_
102 CalibEtalonType etalon_type,
103 float* etalon_params,
104 long etalon_param_count
107 STDMETHOD(get_FrameInterval) (THIS_
111 STDMETHOD(set_FrameInterval) (THIS_
115 STDMETHOD(get_FramesToCollect) (THIS_
119 STDMETHOD(set_FramesToCollect) (THIS_
123 STDMETHOD(get_EnableUndistortion) (THIS_
127 STDMETHOD(set_EnableUndistortion) (THIS_
131 STDMETHOD(get_Show3DWindow) (THIS_
135 STDMETHOD(set_Show3DWindow) (THIS_
139 STDMETHOD(StartCalibrate) (THIS
142 STDMETHOD(SaveCameraParams) (THIS
145 STDMETHOD(LoadCameraParams) (THIS
148 STDMETHOD(Update3DWindow) (THIS
151 STDMETHOD(GetCameraParams) (THIS_
152 CvCameraParams* params
155 STDMETHOD(GetState) (THIS_
156 CalibState* calib_state,
157 long* frames_collected,
159 double* last_frame_time