OpenCV滑动条Trackbar的使用

OpenCV滑动条Trackbar的使用

  • 滑动条Trackbar
  • 亮度滑动条效果
  • 代码

滑动条Trackbar

在 OpenCV 中,滑动条(Trackbar)是一个很有用的工具,它允许用户通过滑动条来实时地调整参数值,这在图像处理中特别有用,比如调整亮度、对比度、阈值等

亮度滑动条效果



代码

python 复制代码
import cv2
import numpy as np

# 读取图像
img = cv2.imread('liu_1.jpeg', 1)

# 初始化亮度值
brightness = 50


# 定义回调函数,用于处理滑动条值的变化
def brightness_change(value):
    # 创建一个 HSV 颜色空间的副本
    hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)

    # 计算 V 通道的新值
    h, s, v = cv2.split(hsv)
    v = cv2.add(v, value)
    v[v > 255] = 255
    v[v < 0] = 0

    # 将新的 V 通道与 H 和 S 通道合并
    final_hsv = cv2.merge((h, s, v))

    # 将图像从 HSV 转换回 BGR
    img_brightness = cv2.cvtColor(final_hsv, cv2.COLOR_HSV2BGR)

    # 显示调整亮度后的图像
    cv2.imshow('Brightness Adjustment', img_brightness)


# 创建窗口和滑动条
cv2.namedWindow('Brightness Adjustment')
cv2.createTrackbar('Brightness', 'Brightness Adjustment', brightness, 255, brightness_change)

# 显示原始图像
cv2.imshow('Brightness Adjustment', img)

# 等待键盘输入,按 'q' 键退出
while True:
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

    # 关闭所有窗口
cv2.destroyAllWindows()
相关推荐
StarPrayers.几秒前
卷积层(Convolutional Layer)学习笔记
人工智能·笔记·深度学习·学习·机器学习
skywalk81633 分钟前
AutoCoder Nano 是一款轻量级的编码助手, 利用大型语言模型(LLMs)帮助开发者编写, 理解和修改代码。
人工智能
金井PRATHAMA10 分钟前
描述逻辑对人工智能自然语言处理中深层语义分析的影响与启示
人工智能·自然语言处理·知识图谱
却道天凉_好个秋15 分钟前
OpenCV(四):视频采集与保存
人工智能·opencv·音视频
minhuan16 分钟前
构建AI智能体:五十七、LangGraph + Gradio:构建可视化AI工作流的趣味指南
人工智能·语言模型·workflow·langgraph·自定义工作流
WWZZ202536 分钟前
ORB_SLAM2原理及代码解析:SetPose() 函数
人工智能·opencv·算法·计算机视觉·机器人·自动驾驶
lisw0536 分钟前
AIoT(人工智能物联网):融合范式下的技术演进、系统架构与产业变革
大数据·人工智能·物联网·机器学习·软件工程
mtouch3331 小时前
GIS+VR地理信息虚拟现实XR MR AR
大数据·人工智能·ar·无人机·xr·vr·mr
一人の梅雨1 小时前
1688 拍立淘接口深度开发:从图像识别到供应链匹配的技术实现
人工智能·算法·计算机视觉
dundunmm2 小时前
【数据集】WebQuestions
人工智能·llm·数据集·知识库问答·知识库