getTrackbarPos() 是 Python OpenCV 中的函数,它返回指定轨迹栏的当前位置。它需要两个参数。第一个是轨迹栏名称,第二个是窗口名称,它是轨迹栏的父级。返回轨迹栏位置。
用法:cv.getTrackbarPos(trackbarname, winname)
参数:
- trackbarname:轨迹栏名称
- winname:作为轨迹栏父级的窗口的名称。
返回:指定轨迹栏的当前位置
注意:[仅适用于 Qt Backend] 此处,如果跟踪栏附加到控制面板,则 winname 可以为空或 Null。
下面是实现:
Python3
# Demo Trackbar
# importing cv2 and numpy
import cv2
import numpy
def nothing(x):
pass
# Creating a window with black image
img = numpy.zeros((300, 512, 3), numpy.uint8)
cv2.namedWindow('image')
# creating trackbars for red color change
cv2.createTrackbar('R', 'image', 0, 255, nothing)
# creating trackbars for Green color change
cv2.createTrackbar('G', 'image', 0, 255, nothing)
# creating trackbars for Bule color change
cv2.createTrackbar('B', 'image', 0, 255, nothing)
while(True):
# show image
cv2.imshow('image', img)
# for button pressing and changing
k = cv2.waitKey(1) & 0xFF
if k == 27:
break
# get current positions of all Three trackbars
r = cv2.getTrackbarPos('R', 'image')
g = cv2.getTrackbarPos('G', 'image')
b = cv2.getTrackbarPos('B', 'image')
# display color mixture
img[:] = [b, g, r]
# close the window
cv2.destroyAllWindows()
输出:
当我们移动任何 R、G 或 B 的滑块时,其对应的 getTrackbarPos() 值会发生变化,并返回特定滑块的位置。通过它我们改变下面框的颜色。您可以在我们传递给 getTrackbarPos() 的参数的代码中看到。我们以 r 为例,我们将“R”和 ‘image’ 传递给函数。这里“R”是我们创建的 Trackbar 名称,‘image’ 是我们运行代码时打开的窗口的名称。本质上,它是轨迹栏的父窗口。这会将滑块的位置作为整数值返回,我们将其保存在 r 中。我们用这个返回值 ‘r’, ‘g’ 和 ‘b’ 创建颜色框。
相关用法
- Python OpenCV setWindowTitle()用法及代码示例
- Python OpenCV resizeWindow()用法及代码示例
- Python OpenCV waitKey()用法及代码示例
- Python OpenCV waitKeyEx()用法及代码示例
- Python OpenCV getRotationMatrix2D()用法及代码示例
- Python OpenCV destroyAllWindows()用法及代码示例
- Python OpenCV namedWindow()用法及代码示例
- Python OpenCV selectroi()用法及代码示例
- Python OpenCV imdecode()用法及代码示例
- Python OpenCV Filter2D()用法及代码示例
- Python OpenCV Canny()用法及代码示例
- Python OpenCV setTrackbarPos()用法及代码示例
- Python OpenCV getgaussiankernel()用法及代码示例
- Python OpenCV haveImageReader()用法及代码示例
注:本文由纯净天空筛选整理自rushi_javiya大神的英文原创作品 Python OpenCV – getTrackbarPos() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。