You will find here a simple application using Qt and OpenCV to create and modify the color of uniform source texture.
Some screeshots illustrate the options :
Source image of a concrete slab.
OpenCV wrapPerspective transformation from the selected ROI.
Shading correction.
Lab modification within the ROI.
Download the zip file, unzip all in a folder and run GdColor.exe
Here is the source code…
The toolbar gives the following options :
- new : create a new image
- open : open an image
- save : save the current diplayed image
- warp : modify the image in order to transform the purple ROI into the green ROI
- shading correction : correct the non uniformity of the lighting within the selected ROI
The Colorimeter Box allow tho fix a Lab value within the ROI
- « Set Mean Lab Value » button sets the mean Lab value within the ROI.
- « Create dE of 2 around this value » takes the La*b* values set by the user and save a set of images located in the root directory (C:\ ) with (L+i, a*+j, b*+k) and i, j, k = -16, 14, -12…, 14, 16.
- « Create Lab images with dE set » takes the La*b* values set by the user as sampling step to create images in the La*b* complete space : 0<L<100, -128<a*<128, -128<b*<128.
Typical use of this tool is the automatic generation of reference images with the same texture such :
a\b | -80 | -60 | -40 | -20 | 0 | 20 | 40 | 60 | 80 |
-80 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
-60 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
-40 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
-20 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
0 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
20 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
40 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
60 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
80 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |