Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 26, 2019 18:02:41

BobCat152
Зарегистрирован: 2019-02-26
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите! Как указать область интереса в видеопотоке (ROI)

ХЕЛБ!!! Помогите! Ниже приведен код для определения движения объектов с помощью cv2.findContours, необходимо, что бы поиск контуров осуществлялся внутри ограниченной прямоугольником области (ROI), а не на всем кадре. Как модифицировать код для осуществления задуманного?

Код:
import cv2
import numpy as np

def main():
cap=cv2.VideoCapture(0)

if cap.isOpened():
ret,frame = cap.read()
else:
ret =False

ret,frame1 = cap.read()
ret,frame2 = cap.read()

while ret:
upper_left = (50, 50)
bottom_right = (300, 300)

ret,frame = cap.read()
d=cv2.absdiff(frame1,frame2)
grey=cv2.cvtColor(d,cv2.COLOR_BGR2GRAY)
blur =cv2.GaussianBlur(grey,(5,5),0)
ret,th=cv2.threshold(blur,20,255,cv2.THRESH_BINARY)
dilated=cv2.dilate(th,np.ones((3,3),np.uint8),iterations=3)
c,h=cv2.findContours(dilated,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
cv2.drawContours(frame1,c,-1,(0,255,0),2)
cv2.imshow(“inter”,frame1)

if cv2.waitKey(40) == 27:
break
frame1 = frame2
ret,frame2= cap.read()
cv2.destroyAllWindows()

cap.release()
main()

Спасибо за помощь!

Офлайн

#2 Фев. 27, 2019 10:27:22

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Помогите! Как указать область интереса в видеопотоке (ROI)

я так понимаю что захват всего кадра происходит вот тут:
ret, frameN = cap.read(), в ret у нас True или False, а в frameN собственно картинка, которую потом распознает cv2. Следовательно вам нужно после cap.read() обрезать ваш frameN как вам нужно, оставив только прямоугольник ROI
Судя по документации VideoCapture object не умеет захватывать только кусок картинки.



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Фев. 27, 2019 10:29:07)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version