Do color correction of images using machine learning.
Project description
ColorCorrectionML
ColorCorrectionML is a Python package for color correction of images using machine learning. It uses ML regression methods (linear, least sqaure, and partial least squares regression) to learn the color correction function from a training image with a color checker. The learned function is then applied to correct the color of a test image.
Installation
pip install colorcorrectionML
Usage
from ColorCorrectionML import ColorCorrectionML
import cv2
img = cv2.imread('Images/img2.png')
cc = ColorCorrectionML(img, chart='Classic', illuminant='D50')
method = 'pls' # 'linear', 'lstsq', 'pls'
# for linear regression, least square regression, and partial least square regression respectively
show = True
kwargs = {
'method': method,
'degree': 3, # degree of polynomial
'interactions_only': False, # only interactions terms,
'ncomp': 10, # number of components for PLS only
'max_iter': 5000, # max iterations for PLS only
'white_balance_mtd': 0 # 0: no white balance, 1: learningBasedWB, 2: simpleWB, 3: grayWorldWB,
}
M, patch_size = cc.compute_correction(
show=show,
**kwargs
)
# resize img by 2
# img = cv2.resize(img, (0,0), fx=0.3, fy=0.3, interpolation=cv2.INTER_AREA)
img_corr = cc.correct_img(img, show=True)
# img_corr = cc.Parallel_correct_img(img, chunks_=50000, show=True)
Example results
Scatter plot of the original image and the corrected image color values
Color correction results
TODO
- Add other reference color values (D55, D65, D70, D75)
- Add other color charts (ColorChecker24, ColorCheckerSG, ColorCheckerDC)
- Add other color spaces (CIELab, XYZ, etc.)
- Add other regression methods (Ridge, Lasso, ElasticNet, etc.)
- Refine the white balance methods
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for colorcorrectionML-0.0.2.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 576a91a84e605bc9ed16fef8ab889a7b8ce970dd346db3f263684d67b3316e1b |
|
MD5 | b63f2b631811638533f85d9c856e0837 |
|
BLAKE2b-256 | 3c6421b299ab50da533c204f2bb4f8cad181d890cb92f03733907815f896effc |
Close
Hashes for colorcorrectionML-0.0.2.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3ed17dc786c8dc11f66da728063a7d13495ce79d861cd6e792031a0f1e50bcc4 |
|
MD5 | 81c3de9ef5db38da737e4b7bb0185d1a |
|
BLAKE2b-256 | 3904048a6d3e3d2cc26df26e5810b5b7f0859b33bfe673da0b508b6188bd9a1e |