如何用python在opencv中通过某个标量影响某个区域的亮度?

How to affect a certain region's brightness by a certain scalar in opencv with python?

我已将此图片附加到此说明中。我想 select 图像上任意位置的区域并增加其亮度而不影响图像的其他部分。如何在 python + OpenCV 中处理这种情况。

黑色矩形中某个区域的亮度应该受某个标量的影响。

任何想法。

这是 Python/OpenCV 中的一种方法。

裁剪区域。增加其亮度。然后将修改后的区域放回图片中

输入:

import cv2
import numpy as np

# load image
img = cv2.imread('orange_flower.jpg')

# specify region
x,y,w,h = 480,183,163,115

# crop region
crop = img[y:y+h, x:x+w]

# increase brightness of crop
gain = 1.5
crop = (gain * crop.astype(np.float64)).clip(0,255).astype(np.uint8)

# put crop back into input
result = img.copy()
result[y:y+h, x:x+w] = crop

# save output
cv2.imwrite('orange_flower_result.jpg', result)

# Display various images to see the steps
cv2.imshow('result',result)
cv2.waitKey(0)
cv2.destroyAllWindows()

结果: