您好,登錄后才能下訂單哦!
如何進行OpenCV4.X滑動條操作,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
createTrackbar(trackbarName, windowName, value, count, onChange)
:創建滑動條
getTrackbarPos(trackbarname, winname)
:獲取滑動條的值
trackbarName
:滑動條名稱windowName
:窗口名稱value
:參數的默認值count
:參數的最大值onChange
:執行的回調函數創建一個應用程序,顯示指定的顏色:有一個顯示顏色的窗口和三個滑動軌道欄,用于指定B,G,R顏色值。可以滑動軌跡欄并更改對應的顏色。初始顏色設置為黑色。
代碼
import numpy as np
import cv2
def nothing(x):
pass # 什么都不做。
# 創建初始黑色圖像和窗口
img = np.zeros((300,512,3), np.uint8)
cv2.namedWindow('image')
# 創建R、G、B滑動條
cv2.createTrackbar('R', 'image', 0, 255, nothing)
cv2.createTrackbar('G', 'image', 0, 255, nothing)
cv2.createTrackbar('B', 'image', 0, 255, nothing)
# 通過滑動條創建開關,模擬按鈕
# 軌跡欄的另一個重要應用是將其用作按鈕或開關。默認情況下,
# OpenCV沒有按鈕功能。因此,可以使用跟蹤欄來獲得此類功能。
# 在我們的應用程序中,創建了一個開關,其中應用程序僅在開關打開時
# 有效,否則屏幕始終為黑色
switch = '0 : OFF \n1 : ON'
cv2.createTrackbar(switch, 'image', 0, 1, nothing)
while True:
cv2.imshow('image',img)
k = cv2.waitKey(1) & 0xFF
if k == 27:
break
# 獲取滑動條位置設置RGB值
r = cv2.getTrackbarPos('R','image')
g = cv2.getTrackbarPos('G','image')
b = cv2.getTrackbarPos('B','image')
s = cv2.getTrackbarPos(switch,'image')
if s == 0:
img[:] = 0
else:
img[:] = [b, g, r]
cv2.destroyAllWindows()
滑動條控制視頻播放進度
代碼
import cv2
def nothing(emp):
pass
video = 'input.mp4'
cv2.namedWindow('video')
cap = cv2.VideoCapture(video)
frames = int(cap.get(cv2.CAP_PROP_FRAME_COUNT))
loop_flag = 0
pos = 1
cv2.createTrackbar('time', 'video', 0, frames, nothing)
while 1:
if loop_flag == pos:
loop_flag = loop_flag + 1
cv2.setTrackbarPos('time', 'video', loop_flag)
else:
pos = cv2.getTrackbarPos('time', 'video')
loop_flag = pos
cap.set(cv2.CAP_PROP_POS_FRAMES, pos)
ret, img = cap.read()
cv2.imshow('video', img)
if cv2.waitKey(1) & loop_flag == frames:
break
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。