type
status
date
slug
summary
tags
category
icon
password
/
点赞 + 关注 + 收藏 = 学会了
推荐关注 《OpenCV-Python 专栏》
在 OpenCV 中,
Trackbar
控件(滑块)是一个非常常用的 GUI 组件,用于在图像处理和计算机视觉任务中进行交互式调整参数。比如说,加载一个图片,通过一个滑块调整图片的亮度,这样便于我们用肉眼观察图片的变化。Trackbar
允许用户通过拖动滑块来调整参数的值,并且会实时更新显示结果。比如上图这个例子,创建了 3 个
Trackbar
控件分别控制图片的 R、G、B 三个通道。拖拽不同通道的滑块后,图片对应的颜色也会跟着修改。在 OpenCV 中使用
Trackbar
需要用到 2 个方法:cv2.createTrackbar()
和 cv2.getTrackbarPos()
。创建滑块控件#
cv2.createTrackbar()
用于创建一个滑块(Trackbar)控件,它接受 5 个参数。trackbarname
:滑块的名称(字符串),在窗口中显示。
winname
:窗口的名称,滑块将被添加到这个窗口中。这个窗口必须在调用cv2.createTrackbar()
之前通过cv2.namedWindow()
创建。
value
:滑块的初始值(整数),表示滑块的默认位置。
count
:滑块的最大值(整数),表示滑块的可调范围。例如,设置为 255 表示滑块的范围是 0 到 255。
onChange
:回调函数。当滑块值发生变化时,onChange 函数会被调用。它接收滑块的新值作为参数。如果不需要回调函数,可以传入一个空函数 nothing ()。
获取滑块当前值#
cv2.getTrackbarPos()
用于获取滑块的当前位置(即当前的值),它接受 2 个参数。trackbarname
:要获取值的滑块名称。该名称必须与创建滑块时使用的名称一致。
winname
:包含滑块的窗口名称。该窗口应该已经通过cv2.namedWindow()
创建。
举个例子#
使用
numpy
要创建一个 480 x 640 像素的图片,这个图片每个像素有 3 个通道,分别代表 R(红)、G(绿)、B(蓝)。用鼠标滑动滑块后,图片每个像素的颜色值也会随之发生变化。需要注意,在 OpenCV 中,图片里的像素通道排序是 [B, G, R],和我们平时说的 “RGB” 排序是反过来的。切记切记。
点赞 + 关注 + 收藏 = 学会了
- 作者:xinghe
- 链接:https:/zxutils.com/article/b9484666-8bfa-4726-b745-00c453b3211f
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。