python - OpenCV - Trackbar slider keeps going to zero with video -


i'm trying use slider control lower , upper bounds hsv masking. i'm able slider can't hold position set; keeps going 0 each time new frame pulled in.

import numpy np import cv2  def nothing(x):     pass  cap = cv2.videocapture(0)  while(true):      # make window video feed       cv2.namedwindow('frame',cv2.cv_window_autosize)      # capture frame-by-frame     ret, frame = cap.read()      # make trackbar used hsv masking         cv2.createtrackbar('hsv','frame',0,255,nothing)      # name variable used mask bounds     j = cv2.gettrackbarpos('hsv','image')      # convert bgr hsv     hsv = cv2.cvtcolor(frame, cv2.color_bgr2hsv)      # define range of color in hsv     lower = np.array([j-10,100,100])     upper = np.array([j+10,255,255])      # threshold hsv image selected color     mask = cv2.inrange(hsv, lower, upper)      # bitwise-and mask original image     res = cv2.bitwise_and(frame,frame, mask= mask)      # display resulting frame     cv2.imshow('frame',res)      # press q quit     if cv2.waitkey(3) & 0xff == ord('q'):         break   # when done, release capture cap.release() cv2.destroyallwindows() 

you creating track-bar inside while loop, that's why getting new track-bar on each frame.

so change code like,

# make window video feed   cv2.namedwindow('frame',cv2.cv_window_autosize) # make trackbar used hsv masking     cv2.createtrackbar('hsv','frame',0,255,nothing)  while(true):      # capture frame-by-frame     ret, frame = cap.read()     ........................     ........................ 

Comments

Popular posts from this blog

javascript - jquery or ashx not working -

opencv - DataType<cv::detail::deriv_type>::depth what is it used for -

python 3.x - Mapping specific letters onto a list of words -