OpenCV-Python快速入门系列06TrackBar/滚动条操作-调整图像亮度

获取滑动条位置

  • 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()
图片[1]-OpenCV-Python快速入门系列06TrackBar/滚动条操作-调整图像亮度-天煜博客
© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容