Esempio n. 1
0
def init_center(frame):
    hadairo = hd.hadairo_cap(frame)  #肌色検出
    mu = cv2.moments(hadairo, False)  #重心検出
    area = cv2.countNonZero(hadairo)  #肌色面積

    #座標の取得
    x = int(mu["m10"] / mu["m00"])
    y = int(mu["m01"] / mu["m00"])

    #重心を表す円の表示
    cv2.circle(hadairo, (x, y), 4, 100, 2, 4)  #濃淡イメージに表示
    print("init_x:{},init_y:{}".format(x, y))
    return x, y, area, hadairo
Esempio n. 2
0
def center(frame):

    hadairo = hd.hadairo_cap(frame)  #肌色検出
    mu = cv2.moments(hadairo, False)

    #座標の取得
    x = int(mu["m10"] / mu["m00"])
    y = int(mu["m01"] / mu["m00"])
    area = cv2.countNonZero(hadairo)

    #重心を表す円の表示
    cv2.circle(hadairo, (x, y), 5, 100, -1, 4)  #濃淡イメージに表示

    print("x:{} y:{} area:{}".format(x, y, area))
    return x, y, area, hadairo
Esempio n. 3
0
def center(frame, prev_x, prev_y, prev_area):

    hadairo = hd.hadairo_cap(frame)  #肌色検出
    mu = cv2.moments(hadairo, False)

    #座標の取得
    x = int(mu["m10"] / mu["m00"])
    y = int(mu["m01"] / mu["m00"])
    area = cv2.countNonZero(hadairo)

    #前との誤差の取得
    dif_x = x - prev_x
    dif_y = y - prev_y
    dif_area = area - prev_area

    #重心を表す円の表示
    cv2.circle(hadairo, (x, y), 4, 100, 2, 4)  #濃淡イメージに表示
    print("dif_x:{} dif_y:{} dif_area:{}".format(dif_x, dif_y, dif_area))
    return prev_x, prev_y, prev_area, x, y, area, dif_x, dif_y, dif_area, hadairo