获取滑动条位置:
cv.getTrackbarPos("lightness", "input")
获取滑动条的当前值。- 当前值
pos
表示亮度增加的强度,范围为[0, 100]
。
更新空白图像:
blank[:, :] = (pos, pos, pos)
为空白图像赋值,RGB 三个通道的像素值都设为滑动条值pos
。
亮度叠加:
cv.add(image, blank)
将原始图像image
与空白图像blank
逐像素相加,实现亮度增强。- OpenCV 的
add
会自动进行饱和处理,防止像素值超出[0, 255]
。
显示结果:
cv.imshow('result', result)
显示实时调整后的结果图像。
退出条件:
- 通过
cv.waitKey(1)
捕获键盘事件。如果按下Esc
键(ASCII 值为27
),退出循环。
import cv2 as cv
import numpy as np
def nothing(x):
print(x)
def adjust_lightness_demo():
image = cv.imread('images/test.png')
if image is None:
print("Error: Image not found or failed to load.")
return
cv.namedWindow("input", cv.WINDOW_AUTOSIZE)
cv.createTrackbar("lightness", "input", 0, 100, nothing)
cv.imshow("input", image)
blank = np.zeros_like(image)
while True:
pos = cv.getTrackbarPos("lightness", "input")
blank[:, :] = (pos, pos, pos)
result = cv.add(image, blank)
cv.imshow('result', result)
c = cv.waitKey(1)
if c == 27:
break
cv.destroyAllWindows()
© 版权声明
转载请注明出处,并标明原文链接。
本网站尊重知识产权,如有侵权,请及时联系我们删除。
本站所有原创内容仅用于学习和交流目的,未经作者和本站授权不得进行商业使用或盈利行为。
本网站尊重知识产权,如有侵权,请及时联系我们删除。
本站所有原创内容仅用于学习和交流目的,未经作者和本站授权不得进行商业使用或盈利行为。
THE END
暂无评论内容