如何对特定区域进行直方图均衡

I. *_*Lin 6 python opencv

我有一张图像,我想在图像的特定区域上执行 HE 或 CLAHE 操作。我已经为图像准备了蒙版。有什么可能的方法吗?

Zir*_*iri 1

这是实现这一目标的代码:

import cv2 as cv
import numpy as np

# Load your color  image
#src = cv.imread("___YourImagePath__.jpg", 
#cv.IMREAD_COLOR)

#Create random color image
src = np.random.randint(255, size=(800,800,3),dtype=np.uint8)
cv.imshow('Random Color Image',src)
cv.waitKey(0)


# conver to gray
gray = cv.cvtColor(src, cv.COLOR_BGR2GRAY)

# process gray image
equalized = cv.equalizeHist(gray)

# create a mask (binary image with same size as source image )
height,width,depth = src.shape
mask = np.zeros((height,width))
cv.circle(mask,( int(width/2),int(height/2)),int(width/3),1,thickness=-1)


# display mask
cv.imshow('Mask',mask)
cv.waitKey(0)

# Copy processed region using the mask
ProcessedRegion = np.where(mask!=0,equalized,gray)

#display result
cv.imshow('Processed region result', ProcessedRegion)
cv.waitKey(0)
Run Code Online (Sandbox Code Playgroud)

输出 :

在此输入图像描述