Найти координаты центроида всего кадра в OpenCV - PullRequest
0 голосов
/ 28 октября 2018

Я ищу в интернете оптимальный код, чтобы нашел координаты XY Centroid OpenCV Frame , но не смог этого сделать.

Я знаю, как найти центроид / центр контура, как показано ниже (на питоне):

image = cv2.imread("test.png"])
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

blurred = cv2.GaussianBlur(gray, (5, 5), 0)
thresh = cv2.threshold(blurred, 60, 255, cv2.THRESH_BINARY)[1]

# find contours in the thresholded image
cnts = cv2.findContours(thresh.copy(), cv2.RETR_EXTERNAL,
    cv2.CHAIN_APPROX_SIMPLE)
cnts = cnts[0] 
#print cnts

# loop over the contours
for c in cnts:
    # compute the center of the contour
    M = cv2.moments(c)
    cX = int(M["m10"] / M["m00"])
    cY = int(M["m01"] / M["m00"])

Где CX, CY - требуемый XY-координаты, но как найти эти координаты для всего видеокадра / изображения в OpenCV

Пожалуйста, кто-нибудь может помочь мне за то же самое?

1 Ответ

0 голосов
/ 28 октября 2018

Вот простой, но простой ответ на мой вопрос:

image = cv2.imread('test.png')'
(h, w) = image.shape[:2] #w:image-width and h:image-height
cv2.circle(image, (w//2, h//2), 7, (255, 255, 255), -1) 

где, w // 2, h // 2 - требуемые рамки / изображения центроидаXY-координаты.

Я просто раньше не думал из коробки, Приветствия:)

...