如何进行OpenCV4.X滑动条操作
                                            如何进行OpenCV4.X滑动条操作,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
在淮阳等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站制作、网站设计 网站设计制作按需搭建网站,公司网站建设,企业网站建设,成都品牌网站建设,全网整合营销推广,成都外贸网站制作,淮阳网站建设费用合理。
一、滑动条
createTrackbar(trackbarName, windowName, value, count, onChange):创建滑动条
getTrackbarPos(trackbarname, winname):获取滑动条的值
- trackbarName:滑动条名称
- windowName:窗口名称
- value:参数的默认值
- count:参数的最大值
- onChange:执行的回调函数
二、应用
1. 应用一
创建一个应用程序,显示指定的颜色:有一个显示颜色的窗口和三个滑动轨道栏,用于指定B,G,R颜色值。可以滑动轨迹栏并更改对应的颜色。初始颜色设置为黑色。
代码
import numpy as np
import cv2
def 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()
 
 
  2. 应用二
滑动条控制视频播放进度
代码
import cv2
def nothing(emp):
   pass
video = '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 + 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 
    看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联的支持。
分享名称:如何进行OpenCV4.X滑动条操作
网页URL:http://www.cqwzjz.cn/article/giopog.html

 建站
建站
 咨询
咨询 售后
售后
 建站咨询
建站咨询 
 