OpenCV中的Trackbar(无按钮)

学习目标:

1.学习滑动条绑定OpenCV窗口

2.学习trackbar滑动条的创建和跟踪


学习内容:

写一个程序,通过滑动条显示此时指定的颜色,滑动滑动条,颜色就会改变。代码中,cv2.createTrackbar函数为创建滑动条,至于为什么用滑动条,是因为OpenCV的GUI窗口里没有按钮,于仕琪的学习OpenCV书中就说过这一特性。cv2.getTrackbarPos函数为获取滑动条的位置,这个函数第一个参数为滑动条的名字,第二个参数是滑动条绑定的窗口,第三个参数是默认值,第四个参数为最大值,第五个参数为每次执行时的回调函数,我们定义的nothing函数什么也不做。

python 复制代码
import cv2
import numpy as np
def nothing(x):
    pass
img=np.zeros((300,512,3),np.uint8)
cv2.namedWindow("image")
cv2.createTrackbar('R','image',0,255,nothing)
cv2.createTrackbar('G','image',0,255,nothing)
cv2.createTrackbar('B','image',0,255,nothing)
cv2.createTrackbar('switch','image',0,1,nothing)
while(True):
    cv2.imshow("image",img)
    k=cv2.waitKey(1)&0xFF
    if k==27:
        break
    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()
    

代码运行情况,switch为1时滑动滑动条,窗口下面颜色会改变。

下面这张图是学校老师要求完成的一个项目,我正是使用了以trackBar为开关做了一个有关于机器视觉中物块特征识别的一个简易上位机,本质上也很简单,主要是向大家传达OpenCV的这种无按钮特性。

以上为本篇文章的全部内容,感谢你抽出宝贵的时间阅读这篇文章。如果你有任何疑问或建议,欢迎在评论区留言,我们一起交流进步。愿你的代码之路越走越顺,生活充满阳光!

相关推荐
骄傲的心别枯萎44 分钟前
RV1126 NO.37:OPENCV的图像叠加功能
人工智能·opencv·计算机视觉·音视频·视频编解码·rv1126
这张生成的图像能检测吗4 小时前
(论文速读)Fast3R:在一个向前通道中实现1000+图像的3D重建
人工智能·深度学习·计算机视觉·3d重建
心 爱心 爱4 小时前
Shape-Guided Dual-Memory Learning for 3D Anomaly Detection 论文精读
计算机视觉·3d·异常检测·工业异常检测·三维异常检测·多模态工业异常检测·二维异常检测
hixiong1239 小时前
C# OpenCVSharp使用 读光-票证检测矫正模型
人工智能·opencv·c#
沃达德软件11 小时前
智能识别车辆驾驶人特征
人工智能·目标检测·计算机视觉·目标跟踪·视觉检测
曼城的天空是蓝色的11 小时前
GroupNet:基于多尺度神经网络的交互推理轨迹预测
深度学习·计算机视觉
zl_vslam11 小时前
SLAM中的非线性优-3D图优化之轴角在Opencv-PNP中的应用(一)
前端·人工智能·算法·计算机视觉·slam se2 非线性优化
B站_计算机毕业设计之家12 小时前
深度血虚:Django水果检测识别系统 CNN卷积神经网络算法 python语言 计算机 大数据✅
python·深度学习·计算机视觉·信息可视化·分类·cnn·django
这张生成的图像能检测吗12 小时前
(论文速读)LyT-Net:基于YUV变压器的轻量级微光图像增强网络
图像处理·人工智能·计算机视觉·低照度
却道天凉_好个秋17 小时前
OpenCV(十九):图像的加法运算
opencv·计算机视觉