如何进行OpenCV4.X滑动条操作,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
createTrackbar(trackbarName, windowName, value, count, onChange)
:创建滑动条
getTrackbarPos(trackbarname, winname)
:获取滑动条的值
trackbarName
:滑动条名称windowName
:窗口名称value
:参数的默认值count
:参数的最大值onChange
:执行的回调函数创建一个应用程序,显示指定的颜色:有一个显示颜色的窗口和三个滑动轨道栏,用于指定B,G,R颜色值。可以滑动轨迹栏并更改对应的颜色。初始颜色设置为黑色。
代码
import numpy as npimport cv2def 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 cv2def nothing(emp): passvideo = 'input.mp4'cv2.namedWindow('video')cap = cv2.VideoCapture(video)frames = int(cap.get(cv2.CAP_PROP_FRAME_COUNT))loop_flag = 0pos = 1cv2.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进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。