opencv轨迹条的运用

简介: 轨迹条运用

1.创造窗口,创造轨迹条

cv2.namedWindow("TrackBars")
cv2.resizeWindow("TrackBars",640,240)
cv2.createTrackbar("Hue Min","TrackBars",0,179,empty)
cv2.createTrackbar("Hue Max","TrackBars",179,179,empty)
cv2.createTrackbar("Sat Min","TrackBars",0,255,empty)
cv2.createTrackbar("Sat Max","TrackBars",255,255,empty)
cv2.createTrackbar("Val Min","TrackBars",85,255,empty)
cv2.createTrackbar("Val Max","TrackBars",255,255,empty)

2.把轨迹条的参数改变和图片关联起来

    h_min = cv2.getTrackbarPos("Hue Min", "TrackBars")
    h_max = cv2.getTrackbarPos("Hue Max", "TrackBars")
    s_min = cv2.getTrackbarPos("Sat Min", "TrackBars")
    s_max = cv2.getTrackbarPos("Sat Max", "TrackBars")
    v_min = cv2.getTrackbarPos("Val Min", "TrackBars")
    v_max = cv2.getTrackbarPos("Val Max", "TrackBars")

3.运用于图片

    lower = np.array([h_min, s_min, v_min])
    upper = np.array([h_max, s_max, v_max])
    mask = cv2.inRange(imgHSV, lower, upper)
    imgResult=cv2.bitwise_and(img,img,mask=mask)

4.完整代码

import cv2
import numpy as np

def empty(a):
    pass

path="D:/shijue/bij.jpg"
#创建轨迹条
cv2.namedWindow("TrackBars")
cv2.resizeWindow("TrackBars",640,240)
cv2.createTrackbar("Hue Min","TrackBars",0,179,empty)
cv2.createTrackbar("Hue Max","TrackBars",179,179,empty)
cv2.createTrackbar("Sat Min","TrackBars",0,255,empty)
cv2.createTrackbar("Sat Max","TrackBars",255,255,empty)
cv2.createTrackbar("Val Min","TrackBars",85,255,empty)
cv2.createTrackbar("Val Max","TrackBars",255,255,empty)

while True:
    img=cv2.imread(path)
    imgHSV=cv2.cvtColor(img,cv2.COLOR_BGR2HSV)
    #应用于图片
    h_min = cv2.getTrackbarPos("Hue Min", "TrackBars")
    h_max = cv2.getTrackbarPos("Hue Max", "TrackBars")
    s_min = cv2.getTrackbarPos("Sat Min", "TrackBars")
    s_max = cv2.getTrackbarPos("Sat Max", "TrackBars")
    v_min = cv2.getTrackbarPos("Val Min", "TrackBars")
    v_max = cv2.getTrackbarPos("Val Max", "TrackBars")
    print(h_max,h_min,s_min,s_max,v_max,v_min)
    lower = np.array([h_min, s_min, v_min])
    upper = np.array([h_max, s_max, v_max])
    mask = cv2.inRange(imgHSV, lower, upper)
    imgResult=cv2.bitwise_and(img,img,mask=mask)
    cv2.namedWindow("Orginal",0)
    cv2.resizeWindow("Orginal",600,400)
    cv2.namedWindow("rest",0)
    cv2.resizeWindow("rest",600,400)
    cv2.imshow("Orginal", img)
    cv2.imshow("rest",imgResult)
    if cv2.waitKey(1)&0xFF==ord('p'):  #按任意键停止
        break

5.运行结果

在这里插入图片描述
在这里插入图片描述

目录
相关文章
|
2月前
|
计算机视觉
OpenCV轮廓分析
OpenCV轮廓分析
|
3月前
|
计算机视觉
OpenCV HSV物体跟踪
OpenCV HSV物体跟踪
30 0
|
3月前
|
存储 计算机视觉 流计算
【OpenCV】计算视频的光流并跟踪物体calcOpticalFlowPyrLK
【OpenCV】计算视频的光流并跟踪物体calcOpticalFlowPyrLK
103 0
|
机器学习/深度学习 存储 算法
目标跟踪入门:使用OpenCV实现质心跟踪
**目标跟踪的过程**: 1、获取对象检测的初始集 2、为每个初始检测创建唯一的ID 3、然后在视频帧中跟踪每个对象的移动,保持唯一ID的分配 本文使用OpenCV实现质心跟踪,这是一种易于理解但高效的跟踪算法。
474 1
目标跟踪入门:使用OpenCV实现质心跟踪
|
API 计算机视觉
OpenCV 轨迹条Trackba应用
OpenCV 轨迹条Trackba应用
124 0
OpenCV 轨迹条Trackba应用
|
计算机视觉
OpenCV | OpenCV检测图像轮廓
OpenCV | OpenCV检测图像轮廓
147 0
OpenCV | OpenCV检测图像轮廓
|
算法 vr&ar 计算机视觉
OpenCV 形状识别
文本将讲述如何使用OpenCV识别一个图片中所包含的形状。 安装依赖包: $ pip install imutils 首先来定义一个类来负责检测图片中的形状: import cv2 class ShapeDetector: def __i...
3291 0
|
计算机视觉 算法框架/工具 Python
OpenCV 实时人脸检测
目的 试验OpenCV的实时图像捕获 实时窗口内对每一帧的图片进行处理 识别视频窗口内的人脸,并用一个矩形画出来 人脸检测方法有许多,比如opencv自带的人脸Haar特征分类器和dlib人脸检测方法等。
2549 0
|
Web App开发 算法 计算机视觉
|
计算机视觉
opencv相机标定
   代码是我几个月前,不知道哪里下载的,原始版权不在我,也没法给出处。    opencv做相机标定经常碰到问题,就是超大图片无法找到角点。我做了小修改,就是把图片先缩小,等找到角点了,再放大到原来比例。
1562 0