在OpenCV中,使用createTrackbar函數,某人如何將默認滑塊位置設置爲最大值?如何在OpenCV中設置軌跡條的默認位置?
我有幾個滑塊,一些代表最小值,一些代表最大值。如果滑塊的最大值是最大值(255)而不是最小值(0),那將會很不錯。
我環顧了OpenCV documentation pages,但我還沒有找到解決方案。
import cv2
import numpy as np
def nothing(x):
pass
# Create a black image, a window
#img = np.zeros((300,512,3), np.uint8)
cv2.namedWindow('image')
cv2.namedWindow('hsv')
cv2.namedWindow('masq')
cap = cv2.VideoCapture(0)
# create trackbars for color change
cv2.createTrackbar('R-low','image',0,255,nothing)
cv2.createTrackbar('R-high','image',0,255,nothing)
cv2.createTrackbar('G-low','image',0,255,nothing)
cv2.createTrackbar('G-high','image',0,255,nothing)
cv2.createTrackbar('B-low','image',0,255,nothing)
cv2.createTrackbar('B-high','image',0,255,nothing)
while(1):
ret, img = cap.read()
# Convert BGR to HSV
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
cv2.imshow('image',img)
k = cv2.waitKey(1) & 0xFF
if k == 27:
break
# get current positions of four trackbars
rl = cv2.getTrackbarPos('R-low','image')
rh = cv2.getTrackbarPos('R-high','image')
gl = cv2.getTrackbarPos('G-low','image')
gh = cv2.getTrackbarPos('G-high','image')
bl = cv2.getTrackbarPos('B-low','image')
bh = cv2.getTrackbarPos('B-high','image')
lower = np.array([rl,gl,bl])
upper = np.array([rh,gh,bh])
print(rl)
img[:] = [bl,gl,rl]
# Threshold the HSV image to get only certain colors
mask = cv2.inRange(hsv, lower, upper)
res = cv2.bitwise_and(img,img, mask= mask)
cv2.imshow('image',img)
cv2.imshow('masq',mask)
cv2.imshow('hsv',hsv)
cv2.destroyAllWindows()
上的負載,它結束了看起來像這樣:
或我的解讀是不同的。哦,我現在明白了。 – j0h