How to solve the problem of Luminance imbalance in Color Pictures by Python+OpenCV
This article mainly introduces "how to solve the problem of brightness imbalance in color map by Python+OpenCV". In daily operation, I believe many people have doubts about how to solve the problem of brightness imbalance in color map by Python+OpenCV. The editor consulted all kinds of data and sorted out simple and easy-to-use operation methods. I hope it will be helpful for you to answer the doubt that "how to solve the problem of brightness imbalance in color map by Python+OpenCV". Next, please follow the editor to study!
Working with contrast stretching
That is, rescaling the image to a specified range.
# contrast stretch p1, p2 = np.percentile (img, (0,70)) # numpy calculates any percentile of a multidimensional array rescale_img = np.uint8 ((np.clip (img, p1, p2)-p1) / (p2-p1) * 255)
Among them, the percentile function of numpy can calculate any percentile of a multi-dimensional array. Because the whole picture is dark, I scale 0 ~ 70% of the gray value of the original image to 0 ~ 255.
Log transform
Use the following formula for mapping:
# logarithmic transformation log_img = np.zeros_like (img) scale, gain = 255, 1.5for i in range (3): log_img [:,:, I] = np.log (img [:,:, I] / scale + 1) * scale * gainGamma correction
Use the following formula for mapping: