Skip to content

Commit

Permalink
Add CameraControl setAutoExposureLimit. FW: improve OV9282/OV9782 i…
Browse files Browse the repository at this point in the history
…mage quality

in low-light / under high ISO (1300+)
  • Loading branch information
alex-luxonis committed Nov 15, 2023
1 parent e01046b commit 3d03da7
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 1 deletion.
3 changes: 3 additions & 0 deletions src/pipeline/datatype/CameraControlBindings.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -185,6 +185,7 @@ std::vector<const char *> camCtrlAttr;
.def_readwrite("captureIntent", &RawCameraControl::captureIntent)
.def_readwrite("controlMode", &RawCameraControl::controlMode)
.def_readwrite("effectMode", &RawCameraControl::effectMode)
.def_readwrite("aeMaxExposureTimeUs", &RawCameraControl::aeMaxExposureTimeUs)
.def_readwrite("aeLockMode", &RawCameraControl::aeLockMode)
.def_readwrite("awbLockMode", &RawCameraControl::awbLockMode)
.def_readwrite("expCompensation", &RawCameraControl::expCompensation)
Expand Down Expand Up @@ -221,6 +222,8 @@ std::vector<const char *> camCtrlAttr;
.def("setAutoExposureLock", &CameraControl::setAutoExposureLock, py::arg("lock"), DOC(dai, CameraControl, setAutoExposureLock))
.def("setAutoExposureRegion", &CameraControl::setAutoExposureRegion, py::arg("startX"), py::arg("startY"), py::arg("width"), py::arg("height"), DOC(dai, CameraControl, setAutoExposureRegion))
.def("setAutoExposureCompensation", &CameraControl::setAutoExposureCompensation, py::arg("compensation"), DOC(dai, CameraControl, setAutoExposureCompensation))
.def("setAutoExposureLimit", py::overload_cast<uint32_t>(&CameraControl::setAutoExposureLimit), py::arg("maxExposureTimeUs"), DOC(dai, CameraControl, setAutoExposureLimit))
.def("setAutoExposureLimit", py::overload_cast<std::chrono::microseconds>(&CameraControl::setAutoExposureLimit), py::arg("maxExposureTime"), DOC(dai, CameraControl, setAutoExposureLimit, 2))
.def("setAntiBandingMode", &CameraControl::setAntiBandingMode, py::arg("mode"), DOC(dai, CameraControl, setAntiBandingMode))
.def("setManualExposure", py::overload_cast<uint32_t, uint32_t>(&CameraControl::setManualExposure), py::arg("exposureTimeUs"), py::arg("sensitivityIso"), DOC(dai, CameraControl, setManualExposure))
.def("setManualExposure", py::overload_cast<std::chrono::microseconds, uint32_t>(&CameraControl::setManualExposure), py::arg("exposureTime"), py::arg("sensitivityIso"), DOC(dai, CameraControl, setManualExposure, 2))
Expand Down
1 change: 1 addition & 0 deletions utilities/cam_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -285,6 +285,7 @@ def prev(self):
# cam[c].initialControl.setManualExposure(15000, 400) # exposure [us], iso
# When set, takes effect after the first 2 frames
# cam[c].initialControl.setManualWhiteBalance(4000) # light temperature in K, 1000..12000
# cam[c].initialControl.setAutoExposureLimit(5000) # can also be updated at runtime
control.out.link(cam[c].inputControl)
if rotate[c]:
cam[c].setImageOrientation(dai.CameraImageOrientation.ROTATE_180_DEG)
Expand Down

0 comments on commit 3d03da7

Please sign in to comment.