【opencv系列06】OpenCV4.X滑动条操作
生活随笔
收集整理的這篇文章主要介紹了
【opencv系列06】OpenCV4.X滑动条操作
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
點擊上方“AI搞事情”關(guān)注我們
一、滑動條
createTrackbar(trackbarName, windowName, value, count, onChange):創(chuàng)建滑動條
getTrackbarPos(trackbarname, winname):獲取滑動條的值
trackbarName:滑動條名稱
windowName:窗口名稱
value:參數(shù)的默認值
count:參數(shù)的最大值
onChange:執(zhí)行的回調(diào)函數(shù)
二、應用
1. 應用一
創(chuàng)建一個應用程序,顯示指定的顏色:有一個顯示顏色的窗口和三個滑動軌道欄,用于指定B,G,R顏色值。可以滑動軌跡欄并更改對應的顏色。初始顏色設置為黑色。
代碼
import numpy as np import cv2def nothing(x):pass # 什么都不做。# 創(chuàng)建初始黑色圖像和窗口 img = np.zeros((300,512,3), np.uint8) cv2.namedWindow('image')# 創(chuàng)建R、G、B滑動條 cv2.createTrackbar('R', 'image', 0, 255, nothing) cv2.createTrackbar('G', 'image', 0, 255, nothing) cv2.createTrackbar('B', 'image', 0, 255, nothing)# 通過滑動條創(chuàng)建開關(guān),模擬按鈕 # 軌跡欄的另一個重要應用是將其用作按鈕或開關(guān)。默認情況下, # OpenCV沒有按鈕功能。因此,可以使用跟蹤欄來獲得此類功能。 # 在我們的應用程序中,創(chuàng)建了一個開關(guān),其中應用程序僅在開關(guān)打開時 # 有效,否則屏幕始終為黑色switch = '0 : OFF \n1 : ON' cv2.createTrackbar(switch, 'image', 0, 1, nothing)while True:cv2.imshow('image',img)k = cv2.waitKey(1) & 0xFFif 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[:] = 0else:img[:] = [b, g, r]cv2.destroyAllWindows()?
2. 應用二
滑動條控制視頻播放進度
代碼
import cv2def nothing(emp):passvideo = '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 + 1cv2.setTrackbarPos('time', 'video', loop_flag)else:pos = cv2.getTrackbarPos('time', 'video')loop_flag = poscap.set(cv2.CAP_PROP_POS_FRAMES, pos)ret, img = cap.read()cv2.imshow('video', img)if cv2.waitKey(1) & loop_flag == frames:break長按二維碼關(guān)注我們
有趣的靈魂在等你
總結(jié)
以上是生活随笔為你收集整理的【opencv系列06】OpenCV4.X滑动条操作的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【opencv系列05】OpenCV4.
- 下一篇: 蹭一波热度,对《青春有你2》109位漂亮