Use proper C++ types. #3703
This is necessary to get https://github.com/opencv/opencv/pull/25248 working.
### Pull Request Readiness Checklist
See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request
- [x] I agree to contribute to the project under Apache 2 License.
- [x] To the best of my knowledge, the proposed patch is not based on a code under GPL or another license that is incompatible with OpenCV
- [x] The PR is proposed to the proper branch
- [x] There is a reference to the original bug report and related work
- [ ] There is accuracy test, performance test and test data in opencv_extra repository, if applicable
Patch to opencv_extra has the same branch name.
- [ ] The feature is well documented and sample code can be built with the project CMake
- made some of dependencies explicit
- removed dependencies to highgui and some other modules where possible
- modified some samples to build without modules
Fixed some inconsistencies in interfaces of different white balance algorithms and improved
the documentation a bit. Also added an option of loading a model during runtime in the
learning-based white balance algorithm. Added a simple tutorial describing how to train a
white balance model.
Implemented a learning-based color balance algorithm, which typically provides
noticeably better quality than grayworld, while being several times slower.
Added a python script for training this algorithm, as well as the benchmarking script
for objective quality evaluation.
Also made some modifications to the grayworld algorithm implementation, including the
16 bit image support and overall acceleration by about 1.7 times (for 8 bit images).