2017-07-23 22:53:02 +00:00
|
|
|
#include <iostream>
|
|
|
|
|
|
2017-08-06 19:12:44 +00:00
|
|
|
#include "colorchecker.h"
|
2017-08-07 04:32:01 +00:00
|
|
|
#include "lut.h"
|
2017-08-06 19:39:11 +00:00
|
|
|
#include "piraw.h"
|
|
|
|
|
#include "util.h"
|
2017-07-23 22:53:02 +00:00
|
|
|
|
|
|
|
|
int main() {
|
2017-08-06 19:55:31 +00:00
|
|
|
auto image = PiRaw2::FromJpeg(ReadFile("test.jpg"));
|
2017-08-11 23:40:22 -07:00
|
|
|
WriteFile("start.png", HighlightClosest(*image)->ToPng());
|
2017-08-10 13:51:39 -07:00
|
|
|
|
2017-08-08 23:14:11 -07:00
|
|
|
auto lut = MinimalLut3d::Identity();
|
2017-08-12 12:01:21 -07:00
|
|
|
std::cout << "Initial error: " << ScoreLut(*image, lut) << std::endl;
|
|
|
|
|
|
2017-08-12 11:46:05 -07:00
|
|
|
int32_t diff = 1;
|
2017-08-10 13:51:39 -07:00
|
|
|
while (diff) {
|
|
|
|
|
diff = OptimizeLut<4>(*image, &lut);
|
2017-08-12 12:01:21 -07:00
|
|
|
std::cout << "diff=" << diff << " error=" << ScoreLut(*image, lut) << std::endl;
|
2017-08-11 23:40:22 -07:00
|
|
|
WriteFile("inter.png", HighlightClosest(*lut.MapImage(*image))->ToPng());
|
2017-08-10 13:51:39 -07:00
|
|
|
}
|
|
|
|
|
|
2017-08-11 23:40:22 -07:00
|
|
|
WriteFile("test.png", HighlightClosest(*lut.MapImage(*image))->ToPng());
|
2017-07-23 22:53:02 +00:00
|
|
|
}
|