如何用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()
结果:
我已将此图片附加到此说明中。我想 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()
结果: