如何进行OpenCV4.X滑动条操作
发表于:2024-10-21 作者:千家信息网编辑
千家信息网最后更新 2024年10月21日,如何进行OpenCV4.X滑动条操作,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。一、滑动条createTrackbar
千家信息网最后更新 2024年10月21日如何进行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
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。
应用
颜色
应用程序
按钮
程序
黑色
代码
功能
参数
名称
轨迹
帮助
最大
有效
清楚
重要
三个
位置
内容
函数
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
前沿数据库技术
青浦区特定软件开发设计标准
服务器无法更新病毒包
服务器维保单位
2022北邮网络安全考研分数线
河南ai人脸识别软件开发
nba2k22连接不上服务器错误代码
网络技术应用案例
顺义区数据网络技术信息推荐
工作描述软件开发经历
当今社会存在的网络安全问题
原神各个服务器的名字
steem服务器在哪
网络安全为人民手抄报内容
nodejs 棋牌服务器
广州智慧电梯软件开发费用
单位网络安全要求会议
数据库代码测试
知名戴尔服务器优质商家
软件开发成本系数计算方法
javase数据库
服务器与光驱的区别
金融工程专业能做软件开发吗
未转变者搭建私人服务器
哈尔滨电信服务器租赁
济南做软件开发的人
肇庆地产软件开发哪家好
网络安全宣传公考面试题
平顶山金蝶管理软件开发
社区网络安全教育总结