直銷購物網(wǎng)站開發(fā)搜狗搜索引擎優(yōu)化
Python學習筆記第七十九天
- OpenCV軌跡欄
- cv.createTrackbar
- cv.getTrackbarPos
- 兩者合并運用
- 后記
OpenCV軌跡欄
cv.getTrackbarPos
和 cv.createTrackbar
是 OpenCV 庫中用于創(chuàng)建和獲取跟蹤條位置的函數(shù)。這些函數(shù)通常用于在視頻處理或圖像處理應(yīng)用程序中創(chuàng)建用戶界面,以允許用戶交互地調(diào)整某些參數(shù)或控制某些功能。cv.getTrackbarPos
和 cv.createTrackbar
在滑動條在許多計算機視覺任務(wù)中很有用,特別是當你想要手動設(shè)置某個參數(shù)值時。
cv.createTrackbar
cv.createTrackbar這個函數(shù)用于在窗口上創(chuàng)建一個滑動條。
參數(shù)說明:
- trackbarname:滑動條的名稱。
- winname:滑動條所屬的窗口名稱。
- val:滑動條的初始位置。
- maxval:滑動條的最大位置值。
- onChange:一個回調(diào)函數(shù),當滑動條位置改變時被調(diào)用。
import cv2# 創(chuàng)建窗口
cv2.namedWindow('Trackbar Window')# 創(chuàng)建跟蹤條,參數(shù)包括:
# 1. 窗口名稱
# 2. 跟蹤條名稱
# 3. 默認位置(0-100)
# 4. 最大位置(0-100)
# 5. 回調(diào)函數(shù)(可選)
trackbar = cv2.createTrackbar('Trackbar', 'Trackbar Window', 0, 100, trackbar_callback)# 主循環(huán),等待用戶操作
while True:# 在這里添加其他代碼,例如讀取圖像或視頻幀等pass
cv.getTrackbarPos
在上面的例子中,你可以看到 cv2.createTrackbar
創(chuàng)建了一個名為 “Trackbar” 的跟蹤條。你可以使用 cv2.getTrackbarPos
來獲取當前跟蹤條的位置:
參數(shù)說明:
- trackbarname:滑動條的名稱。
- winname:滑動條所屬的窗口名稱。
def trackbar_callback(x):# 在這里添加當跟蹤條位置改變時要執(zhí)行的代碼pass# ...(省略上面的代碼)...# 在回調(diào)函數(shù)中獲取當前跟蹤條位置
current_pos = cv2.getTrackbarPos('Trackbar', 'Trackbar Window')
在這個例子中,trackbar_callback
是一個可選的回調(diào)函數(shù),它會在用戶移動跟蹤條時被調(diào)用。在這個回調(diào)函數(shù)中,你可以使用 cv2.getTrackbarPos
來獲取當前跟蹤條的位置。
兩者合并運用
import cv2 as cv
import numpy as np # 初始化一個窗口
window_name = 'Trackbar Demo'
cv.namedWindow(window_name, cv.WINDOW_NORMAL) # 創(chuàng)建一個滑動條,位置在 (10, 50),名字為 'Slider',默認值是 0,范圍是 0 到 100
trackbar = cv.createTrackbar('Slider', window_name, 0, 100, None) while True: # 獲取滑動條的當前位置 position = cv.getTrackbarPos(trackbar) print(f"Slider position: {position}") # 為了可視化滑動條的效果,我們可以根據(jù)其位置改變圖像的某些屬性。這里我們簡單地用一個灰度圖像來演示。 image = np.zeros((500, 500), dtype=np.uint8) cv.rectangle(image, (250, 0), (250 + int(position), 500), (255, 255, 255), -1) cv.imshow(window_name, image) key = cv.waitKey(1) & 0xFF # 按任意鍵退出循環(huán) if key == ord('q'): # 按 'q' 退出程序 break cv.destroyAllWindows()
后記
今天學習的是Python OpenCV軌跡欄學會了嗎。 今天學習內(nèi)容總結(jié)一下:
- cv.createTrackbar
- cv.getTrackbarPos