python+openCV实现图像追踪加轮廓(1)

百度了一下,发现了openCV实现动态追踪的两种方法,然后下了个中文版python-openCV的文档来查看每个函数的用法,现在做出了第一种方法的识别,原理是根据阙值来跟踪,也就是遍历每一帧根据颜色来跟踪,很简单的方法,文档中的已经可以实现了,


然后修改了一下,加了个轮廓

import cv2
import numpy as np

cap = cv2.VideoCapture("E:\\桌面\\video_3.mp4")
result = cap.isOpened()
if result is True:
    while True:
        # 获取每一帧调用camera.read()为我们返回一个2元组。
        # 元组的第一个值是grabbed,表明是否成功从缓冲中读取了frame。
        # 元组的第二个值就是frame它本身。
        ret, image = cap.read()
        if ret is False:
            break
        # 转换到 HSV
        hsv = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)
        # 设定黑色的阈值
        lower = np.array([0, 0, 0])
        upper = np.array([80, 80, 80])  # 黑色的阙值

        # 腐蚀操作
        mask = cv2.inRange(hsv, lower, upper)
        # 膨胀操作,其实先腐蚀再膨胀的效果是开运算,去除噪点
        mask = cv2.erode(mask, None, iterations=2)
        # 膨胀操作,其实先腐蚀再膨胀的效果是开运算,去除噪点
        mask = cv2.dilate(mask, None, iterations=2)
        cnts = cv2.findContours(mask.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)[-2]

        # 初始化瓶盖圆形轮廓质心
        center = None
        # 如果存在轮廓
        if len(cnts) > 0:
            # 找到面积最大的轮廓
            c = max(cnts, key=cv2.contourArea)
            # 确定面积最大的轮廓的外接圆
            ((x, y), radius) = cv2.minEnclosingCircle(c)
            # 计算轮廓的矩
            M = cv2.moments(c)
            # 计算质心
            center = (int(M["m10"] / M["m00"]), int(M["m01"] / M["m00"]))
            cv2.circle(image, (int(x), int(y)), int(radius), (0, 255, 255), 2)
            cv2.circle(image, center, 5, (0, 0, 255), -1)
       # 根据阈值构建掩模
       # 对原图像和掩模进行位运算
        res = cv2.bitwise_and(image, image, mask=mask)
        cv2.imshow('image', image)
        cv2.imshow('mask', mask)
        cv2.imshow('res', res)

        # cv2.waitKey(0)
        k = cv2.waitKey(5) & 0xff
        if k == 27:
            break
    cv2.destroyAllWindows()
    cap.release()
else:
    print("打开失败")
#引用 https://blog.csdn.net/sinat_31135199/article/details/51252393

hsv的阙值是在菜鸟工具里面查的


视频要找个简单一点的,查看mask就可以看出有哪些干扰轮廓的地方



代码里面已经有详细的注释了,中文文档真的有良心,很详细

猜你喜欢

转载自blog.csdn.net/abc455050954/article/details/80709642
今日推荐