-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathIImageProcessConfig.h
253 lines (222 loc) · 8.82 KB
/
IImageProcessConfig.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
//------------------------------------------------------------------------
/**
\file IImageProcessConfig.h
\brief Definition of the IImageProcessConfig interface
\Date 2016-8-09
\Version 1.1.1608.9091
*/
//------------------------------------------------------------------------
#pragma once
class GXIAPICPP_API IImageProcessConfig
{
public:
//---------------------------------------------------------
/**
\brief Destructor
*/
//---------------------------------------------------------
virtual ~IImageProcessConfig(){};
//---------------------------------------------------------
/**
\brief Special for more than 8 bits data device, to choose 8 bits data in all the bits for image process.
\param [in]emValidBits The segment
\return void
*/
//---------------------------------------------------------
virtual void SetValidBit(GX_VALID_BIT_LIST emValidBits) = 0;
//---------------------------------------------------------
/**
\brief The switch of correcting defective pixel
\param [in]bEnable True to enable; False to disable
\return void
*/
//---------------------------------------------------------
virtual void EnableDefectivePixelCorrect(bool bEnable) = 0;
//---------------------------------------------------------
/**
\brief The switch of Sharpening
\param [in]bEnable True to enable; False to disable
\return void
*/
//---------------------------------------------------------
virtual void EnableSharpen(bool bEnable) = 0;
//---------------------------------------------------------
/**
\brief Set sharpen value param.
\param [in]dParam The sharpen value param
\return void
*/
//---------------------------------------------------------
virtual void SetSharpenParam(double dParam) = 0;
//---------------------------------------------------------
/**
\brief Set contrast value param.
\param [in]nParam The contrast value param
\return void
*/
//---------------------------------------------------------
virtual void SetContrastParam(int32_t nParam) = 0;
//---------------------------------------------------------
/**
\brief Set gamma value param.
\param [in]dParam The gamma value param
\return void
*/
//---------------------------------------------------------
virtual void SetGammaParam(double dParam) = 0;
//---------------------------------------------------------
/**
\brief Set lightness value param.
\param [in]nParam The lightness value param
\return void
*/
//---------------------------------------------------------
virtual void SetLightnessParam(int32_t nParam) = 0;
//---------------------------------------------------------
/**
\brief The switch of noise reduction [Does not support the Mono camera]
\param [in]bEnable True to enable; False to disable
\return void
*/
//---------------------------------------------------------
virtual void EnableDenoise(bool bEnable) = 0;
//---------------------------------------------------------
/**
\brief The switch of color correction [Does not support the Mono camera]
\param [in]bEnable True to enable; False to disable
\return void
*/
//---------------------------------------------------------
virtual void EnableColorCorrection(bool bEnable) = 0;
//---------------------------------------------------------
/**
\brief True if enable color correction [Does not support the Mono camera]
\return True if enable color correction
*/
//---------------------------------------------------------
virtual bool IsColorCorrection() = 0;
//---------------------------------------------------------
/**
\brief Set saturation value param [Does not support the Mono camera]
\param [in]nParam The saturation value param
\return void
*/
//---------------------------------------------------------
virtual void SetSaturationParam(int32_t nParam) = 0;
//---------------------------------------------------------
/**
\brief Set convert type of image interpolation [Does not support the Mono camera]
\param [in]emConvertType The convert type
\return void
*/
//---------------------------------------------------------
virtual void SetConvertType(GX_BAYER_CONVERT_TYPE_LIST emConvertType) = 0;
//---------------------------------------------------------
/**
\brief The switch of flip in image interpolation [Does not support the Mono camera]
\param [in]bFlip If true to be flip, else not.
\return void
*/
//---------------------------------------------------------
virtual void EnableConvertFlip(bool bFlip) = 0;
//---------------------------------------------------------
/**
\brief The switch of process accelerate, rely on hardware's supporting.
\return void
*/
//---------------------------------------------------------
virtual void EnableAccelerate(bool bAccelerate) = 0;
//---------------------------------------------------------
/**
\brief Special for more than 8 bits data image, that indicates which 8 bits should be processed.
\return The segment bits
*/
//---------------------------------------------------------
virtual GX_VALID_BIT_LIST GetValidBit() = 0;
//---------------------------------------------------------
/**
\brief True if enable defective pixel correction
\return True if enable defective pixel correction
*/
//---------------------------------------------------------
virtual bool IsDefectivePixelCorrect() = 0;
//---------------------------------------------------------
/**
\brief True if enable sharpen
\return True if enable sharpen
*/
//---------------------------------------------------------
virtual bool IsSharpen() = 0;
//---------------------------------------------------------
/**
\brief True if enable process accelerate
\return True if enable process accelerate
*/
//---------------------------------------------------------
virtual bool IsAccelerate() = 0;
//---------------------------------------------------------
/**
\brief Get the current sharpen param
\return The current sharpen param
*/
//---------------------------------------------------------
virtual double GetSharpenParam() = 0;
//---------------------------------------------------------
/**
\brief Get the current contrast param
\return The current contrast param
*/
//---------------------------------------------------------
virtual int32_t GetContrastParam() = 0;
//---------------------------------------------------------
/**
\brief Get the gamma param
\return The the gamma param
*/
//---------------------------------------------------------
virtual double GetGammaParam() = 0;
//---------------------------------------------------------
/**
\brief Get lightness param
\return The lightness param
*/
//---------------------------------------------------------
virtual int32_t GetLightnessParam() = 0;
//---------------------------------------------------------
/**
\brief True if enable pixel reduction [Does not support the Mono camera]
\return True if enable pixel reduction
*/
//---------------------------------------------------------
virtual bool IsDenoise() = 0;
//---------------------------------------------------------
/**
\brief Get the current saturation param [Does not support the Mono camera]
\return The the current saturation param
*/
//---------------------------------------------------------
virtual int32_t GetSaturationParam() = 0;
//---------------------------------------------------------
/**
\brief Get the current convert type for image interpolation [Does not support the Mono camera]
\return The the current convert type for image interpolation
*/
//---------------------------------------------------------
virtual GX_BAYER_CONVERT_TYPE_LIST GetConvertType() = 0;
//---------------------------------------------------------
/**
\brief Get the current flip mode for image interpolation. True means to flip, False not. [Does not support the Mono camera]
\return The the current flip mode for image interpolation. True means to flip, False not.
*/
//---------------------------------------------------------
virtual bool IsConvertFlip() = 0;
//---------------------------------------------------------
/**
\brief Reset all the params to the default params.
\return void
*/
//---------------------------------------------------------
virtual void Reset() = 0;
};
template class GXIAPICPP_API GXSmartPtr<IImageProcessConfig>;
typedef GXSmartPtr<IImageProcessConfig> CImageProcessConfigPointer;