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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。