當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python OpenCV getTrackbarPos()用法及代碼示例


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’ 創建顏色框。




相關用法


注:本文由純淨天空篩選整理自rushi_javiya大神的英文原創作品 Python OpenCV – getTrackbarPos() Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。