Как изменить человека, за которым следил/отслеживал мой код, щелкнув или выбрав другого человека мышью? Остальные подробPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как изменить человека, за которым следил/отслеживал мой код, щелкнув или выбрав другого человека мышью? Остальные подроб

Сообщение Anonymous »

Я создаю код для обнаружения футболки человека и следования за ним в группе людей.
Итак, в видео группы людей мой код будет следить/отслеживать одного человека, идентифицируя цвет его футболки, а затем следовать за ним.

Теперь я хочу добавить новую функцию, по которой я смогу щелкнуть и вручную выбрать человека, которому я хочу, чтобы мой код следовал.
Итак, , если я хочу изменить человека, на которого буду подписываться вручную, щелкнув другого человека с футболкой другого цвета, мой код должен подписаться на этого человека, которого я выбрал.
Это это мой код:

Код: Выделить всё

import cv2
import numpy as np
import time
import matplotlib.pyplot as plt
from gtts import gTTS
import string
import speech_recognition as sr

r = sr.Recognizer()
m = sr.Microphone()
test=1

def checkspeech(r):
with sr.Microphone() as source:

audio = r.listen(source)
try:
print("You said: " + r.recognize_google(audio))
return (r.recognize_google(audio))
except sr.UnknownValueError:
print("Could not understand audio")
return ("WW")
except sr.RequestError as e:
print("Could not request results; {0}".format(e))
return ("WW")

while (test==0):

r.pause_threshold = 0.7
r.energy_threshold =1700
with m as source:
#r.adjust_for_ambient_noise(source)
print("Set minimum energy threshold to {}".format(r.energy_threshold))
print("MICROPHONE")
speech=str(checkspeech(r))
print(speech)
if (speech=="Follow me" or speech=="follow me"  ):
test=1
print("Following")
else:
test=0

#speech3=speech.split(' ',1)[0]

drawing = False
ix,iy = -1,-1
R1=0
G1=0
B1=0
b=0
g=0
r=0
set1=0
cx1=0
cy1=0
time1 = time.time()
time2=0
a=0

cap=cv2.VideoCapture(0)
if (test==1):
while(cap.isOpened()):
ret,frame = cap.read()
frame = cv2.cvtColor(frame,cv2.COLOR_BGR2HLS)
#cv2.imshow("frames",frame)
if(set1==0):
left = 280
right = 360
bottom = 280
top = 200
kernel = frame[top:bottom,left:right]
b,g,r,_=np.uint8(cv2.mean(kernel))
lb=b-30
ub=b+30
lg=g-30
ug=g+30
lr=r-30
ur=r+30
lower_blue = np.array([lb,lg,lr])
upper_blue = np.array([ub,ug,ur])
mask = cv2.inRange(frame, lower_blue, upper_blue)
dilation = cv2.dilate(mask,(5,5),iterations = 1)
erosion = cv2.dilate(dilation,(7,7),iterations = 1)
ret,cnts,heirarchy=cv2.findContours(erosion.astype(np.uint8),cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE)
set1=1
#cv2.imshow('kernel',kernel)
mask1 = np.zeros_like(frame)

if(a==1):
#print(frame.shape[0])
#print(mask1.shape[0])
#print(frame.shape[1])
#print(mask1.shape[1])
lroi = cx - 150
rroi = cx + 150
broi = cy + 150
troi = cy - 150
if(lroi640):
rroi=640
if(broi>480):
broi=480
if(troi=0.5):
left = cx - 30
right = cx + 30
bottom = cy + 30
top = cy - 30
a=1
kernel = frame[top:bottom,left:right]
b,g,r,_=np.uint8(cv2.mean(kernel))
lb = b-40
ub=b+40
lg=g-40
ug=g+40
lr=r-40
ur=r+40
time1=time2
print(lb)

#cv2.drawContours(frame, approx, -1, (0,255,0), 3)
res = cv2.bitwise_and(frame,frame, mask = mask)
cv2.imshow('tester',frame)
cv2.imshow('tester1',dilation)

k = cv2.waitKey(1)
if (k==ord('q')):
break

cap.release()
cv2.destroyAllWindows()

Если вы хотите, вы можете удалить функцию «Следуйте за мной», но, пожалуйста, помогите мне, как добавить этот новый клик и подписку на страх!!!
Спасибо!Я выполнил следующие шаги:
Определите функцию обратного вызова мыши, которая будет захватывать событие щелчка мыши и записывать координаты щелчка.
Используйте координаты, полученные в результате щелчка мыши, чтобы определить начальную область интереса (ROI), где находится человек, которого нужно отслеживать.
Измените код, чтобы использовать эту область интереса, выбранную вручную. для калибровки цвета и обнаружения футболок.
Но это не сработало, возможно, мой код был неправильным или мой подход был неправильным.

Подробнее здесь: https://stackoverflow.com/questions/781 ... -selecting
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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