Skip to content

Commit 4b932b8

Browse files
committed
Fix manual balance white settings
1 parent 629994c commit 4b932b8

File tree

1 file changed

+34
-11
lines changed

1 file changed

+34
-11
lines changed

src/ImageEventHandler.cpp

+34-11
Original file line numberDiff line numberDiff line change
@@ -138,33 +138,56 @@ void ImageEventHandler::SetCameraParams(CBaslerUniversalInstantCamera &camera, c
138138
camera.Gain.SetValue(gain);
139139
}
140140

141-
// Select auto function ROI 2
142-
camera.AutoFunctionROISelector.SetValue(AutoFunctionROISelector_ROI2);
143-
// Enable the Balance White Auto auto function
144-
// for the auto function ROI selected
145-
camera.AutoFunctionROIUseWhiteBalance.SetValue(true);
146-
// Enable Balance White Auto by setting the operating mode to Continuous.
147-
camera.BalanceWhiteAuto.SetValue(BalanceWhiteAuto_Continuous);
148-
149141
camera.BalanceRatioSelector.SetValue(BalanceRatioSelector_Red);
150142
if (balanceWhiteRed == -1) {
143+
// Select auto function ROI 2
144+
camera.AutoFunctionROISelector.SetValue(AutoFunctionROISelector_ROI2);
145+
// Enable the Balance White Auto auto function
146+
// for the auto function ROI selected
147+
camera.AutoFunctionROIUseWhiteBalance.SetValue(true);
148+
// Enable Balance White Auto by setting the operating mode to Continuous.
149+
camera.BalanceWhiteAuto.SetValue(BalanceWhiteAuto_Continuous);
151150
balanceWhiteRed = camera.BalanceRatio.GetValue();
152151
} else {
153-
camera.BalanceRatioAbs.SetValue(balanceWhiteRed);
152+
cout << "1" << endl;
153+
camera.BalanceWhiteAuto.SetValue(BalanceWhiteAuto_Off);
154+
cout << "2" << endl;
155+
camera.BlackLevel.SetValue(0);
156+
cout << "3" << endl;
157+
camera.BalanceRatio.SetValue(balanceWhiteRed);
158+
cout << "4" << endl;
154159
}
155160

156161
camera.BalanceRatioSelector.SetValue(BalanceRatioSelector_Green);
157162
if (balanceWhiteGreen == -1) {
163+
// Select auto function ROI 2
164+
camera.AutoFunctionROISelector.SetValue(AutoFunctionROISelector_ROI2);
165+
// Enable the Balance White Auto auto function
166+
// for the auto function ROI selected
167+
camera.AutoFunctionROIUseWhiteBalance.SetValue(true);
168+
// Enable Balance White Auto by setting the operating mode to Continuous.
169+
camera.BalanceWhiteAuto.SetValue(BalanceWhiteAuto_Continuous);
158170
balanceWhiteGreen = camera.BalanceRatio.GetValue();
159171
} else {
160-
camera.BalanceRatioAbs.SetValue(balanceWhiteGreen);
172+
camera.BalanceWhiteAuto.SetValue(BalanceWhiteAuto_Off);
173+
camera.BlackLevel.SetValue(0);
174+
camera.BalanceRatio.SetValue(balanceWhiteGreen);
161175
}
162176

163177
camera.BalanceRatioSelector.SetValue(BalanceRatioSelector_Blue);
164178
if (balanceWhiteBlue == -1) {
179+
// Select auto function ROI 2
180+
camera.AutoFunctionROISelector.SetValue(AutoFunctionROISelector_ROI2);
181+
// Enable the Balance White Auto auto function
182+
// for the auto function ROI selected
183+
camera.AutoFunctionROIUseWhiteBalance.SetValue(true);
184+
// Enable Balance White Auto by setting the operating mode to Continuous.
185+
camera.BalanceWhiteAuto.SetValue(BalanceWhiteAuto_Continuous);
165186
balanceWhiteBlue = camera.BalanceRatio.GetValue();
166187
} else {
167-
camera.BalanceRatioAbs.SetValue(balanceWhiteBlue);
188+
camera.BalanceWhiteAuto.SetValue(BalanceWhiteAuto_Off);
189+
camera.BlackLevel.SetValue(0);
190+
camera.BalanceRatio.SetValue(balanceWhiteBlue);
168191
}
169192

170193
width = (int) (camera.Width.GetValue() - camera.OffsetX.GetValue());

0 commit comments

Comments
 (0)