Группа OpenCv / найдите несколько повторяющихся объектовPython

Программы на Python
Ответить
Anonymous
 Группа OpenCv / найдите несколько повторяющихся объектов

Сообщение Anonymous »

Я боролся с несколькими проблемами OpenCV, которые я пытаюсь преодолеть. В настоящее время я работаю над игровым ботом, который записывает информацию с экрана.
Это весь экран
< /p>
Это более интересная часть с освещением, что я пытаюсь получить. Я определил один «контакт» и важную информацию. < /p>
с помощью повторяющегося списка изображения, имени, области, новое уведомление о сообщении. Мне было интересно, смогу ли я установить группу / макет / шаблон, чтобы сказать, когда я вижу круг (картинка профиля), будет все эти интересные вещи x, y пиксели справа? < / P>
Другая линия мышления - найти кружок (рисунок профиля), затем скажем, смещение x, y, затем нарежьте изображение x, y расстояние, чтобы разбить каждый «контакт» на новое изображение, а затем пройдите через них таким образом.
В конечном счете я стремился получить массив пользовательских объектов, которые имели всю эту информацию в том, что я могу затем пройти через < /p>
Мой второй вопрос был самим профилем. Вы можете заметить, что у некоторых есть маленькие зеленые таблетки на переднем плане. Если я экранирую, возьмите один, чтобы сделать шаблон соответствия, если бы пиксели на изображении профиля выбросили матч? Ширина, но не знала, не будет ли сам символ таблетки, а затем не совпадает. Я могу загрузить то, что я создаю, и добавить в него уточнения по ходу дела. < /P>
Спасибо < /p>
============== ============================================================================= /> Итак, это то, что у меня сейчас есть, потому что с самого начала я терпел неудачу, я думал, что это был мой подход, который был неправильным. < /p>
import cv2 as cv
import numpy as np
import os
import pyautogui
from time import time
from time import sleep

from windowcapture import WindowCapture

wincap = WindowCapture('Drug Dealer Simulator ')
screenshot = wincap.get_screenshot()

w,h = screenshot.shape[:2]

screenshot = screenshot[400:h , 0:100]

#convert to gray
screenshot_gray = cv.cvtColor(screenshot, cv.COLOR_BGR2GRAY)
screenshot_gray = cv.medianBlur(screenshot_gray, 5)
cv.imshow('screenshot_gray', screenshot_gray)

rows = screenshot_gray.shape[0]
#find the cirles
# detect circles in the image
circles = cv.HoughCircles(screenshot_gray, cv.HOUGH_GRADIENT, 1, 5,param1=100, param2=30,minRadius=1, maxRadius=30)

# ensure at least some circles were found
if circles is not None:
# convert the (x, y) coordinates and radius of the circles to integers
circles = np.round(circles[0, :]).astype("int")

# loop over the (x, y) coordinates and radius of the circles
for (x, y, r) in circles:
# draw the circle in the output image, then draw a rectangle
# corresponding to the center of the circle
cv.circle(screenshot, (x, y), r, (0, 255, 0), 4)
cv.rectangle(screenshot, (x - 5, y - 5), (x + 5, y + 5), (0, 128, 255), -1)

# show the output image
cv.imshow("output",screenshot)
cv.waitKey(0)
< /code>
Это было самое близкое, что я получил с cv2.houghcircles () и пытался найти изображения профиля круга. Я предполагаю, что черный фон справится с некоторыми изображениями, но я не знаю, как я могу это улучшить. /i.sstatic.net/7ejravek.png " /> < /p>
Я знаю соответствовать так?

Подробнее здесь: https://stackoverflow.com/questions/793 ... hat-repeat
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»