小编Stu*_*ump的帖子

在OpenCV中绘制有角度的矩形

我正在使用OpenCV和python来处理涉及身体跟踪的项目,我使用HSV值来查找肤色,然后围绕它绘制一个框.

然而,虽然我可以找到被跟踪的对象并在其周围画一个方框,但矩形总是垂直的,我想知道矩形是否有任何角度,这样它们更好地显示检测到的对象,有点像minEnclosingCircle函数,但是使用了长方形

图像可能解释了我正在寻找更好的东西.我得到的盒子是绿色的,我正在寻找的东西是黄色的.如您所见,蒙版显示和成角度的矩形也将更好地包含所选区域.我还包括原始图像.

我的代码是:

    import numpy as np
    import cv2

    # Input image
    image = cv2.imread('TestIn.png')

    # Converts to grey for better reulsts
    gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

    # Converts to HSV
    hsv = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)

    # HSV values
    lower_skin = np.array([5,36,53])
    upper_skin = np.array([19,120,125])

    mask = cv2.inRange(hsv, lower_skin, upper_skin)

    mask = cv2.erode(mask, None, iterations=2)
    mask = cv2.dilate(mask, None, iterations=2)

    # Finds contours
    im2, cnts, hierarchy = cv2.findContours(mask.copy(), cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)

    # Draws contours
    for c in cnts:
        if cv2.contourArea(c) < 3000: …
Run Code Online (Sandbox Code Playgroud)

python opencv tracking

6
推荐指数
1
解决办法
9217
查看次数

标签 统计

opencv ×1

python ×1

tracking ×1