yuanxy92 / autowhitebalance Goto Github PK
View Code? Open in Web Editor NEWefficient and robust white balance algorithm
License: GNU General Public License v3.0
efficient and robust white balance algorithm
License: GNU General Public License v3.0
Hi, yuanxy92.
Thanks for your great implementation!
During my work, I have a question about Cpp implementation codes.
In Cpp/main.cpp
Line 32 and 33, you did autoWB.apply()
twice.
I commented one of them and found there was no difference in their results.
Do you have any reason to do so?
By the way, I think this function has typo: autoWB.apply()
has to be autoWB.calc()
.
Thanks.
Hi yuan, thanks for your sharing.
I used your code to test my own images while the results look not good.
Is there any limitation about this method? PNG16 raw images are used for training. Does it work for normal 8bit image?
(I modified the funcion name in main.cpp
. Is it a correct usage? )
int main(int argc, char* argv[]) {
AutoWhiteBalance autoWB;
autoWB.loadModel("E:/Project/AutoWhiteBalance/data/model/model.bin");
cv::Mat img = cv::imread("E:/data/giga/NanshanIPark/2/calibrate/ref_00.jpg");
cv::cuda::GpuMat img_d;
img_d.upload(img);
float gain_r, gain_g, gain_b;
time_t begin, end;
begin = clock();
// autoWB.apply(img_d, gain_r, gain_g, gain_b);
// autoWB.apply(img_d, gain_r, gain_g, gain_b);
autoWB.calc(img_d, gain_r, gain_g, gain_b);
end = clock();
printf("Auto white balance update, cost %f milliseconds ...\n",
static_cast<float>(end - begin) / static_cast<double>(CLOCKS_PER_SEC) * 1000);
autoWB.applyWhiteBalance(img_d, gain_r, gain_g, gain_b);
cv::Mat img2;
img_d.download(img2);
return 0;
}
Hi Yuan,
Thanks for the great work! Could you give some instructions about extending the training data?
The pretrained model is not really optimized for my image sensor. I would like to train the system specifically for the images captured by my image sensor.
Thanks!
Burak
I am trying to understand the "Convolutional Color Constancy" paper. Can you please comment and explain how is the log chroma histogram built and how to actually visualize it?
In the visualize_hist.m function, what is the input X and rho?
I only want to visualize the 2D log chroma histogram.
Hi, yuan,
When I try to test main.cpp, I found that AutoWhiteBalance class does not comtain "Apply" function in main.cpp line 32. Is there something wrong with it?
ps, could you please share me your opencvConfig.cmake. When I cmake CMakeLists.txt, there is always something wrong with opencv.
Thank you very much.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.