помогите разобратся с скриптом

Если вы только начинаете осваивать систему MajorDoMo и чего-то не знаете или не можете понять, то задавайте свои вопросы в этой ветке.

Модератор: immortal

lihodeev
Сообщения: 148
Зарегистрирован: Ср июл 25, 2018 10:37 pm
Благодарил (а): 43 раза
Поблагодарили: 8 раз

Re: помогите разобратся с скриптом

Сообщение lihodeev » Чт сен 10, 2020 12:01 am

tarasfrompir писал(а):
Ср сен 09, 2020 11:48 pm
fandaymon писал(а):
Ср сен 09, 2020 10:14 pm
Что касается самого вопроса - то смотреть есть ли у www-data права запускать sudo + питон же сам может кадры из rtsp потока дергать

video=cv2.VideoCapture("rtsp url")

отпадает надобность запускать ещё и ffmpeg
В связи с Вашим ответом -
Вопрос такого плана - как проверять 1 кадр в секунду - вместо всех что идут в изображении - чтобы не грузить систему ?
Я просто так и не нашел - отбор кадра - из потока....
Я пытаюсь в ffmpeg работать потому что он может отдать ключевые кадры ffmpeg -discard nokey -i video.mp4 -q:v 2 -vf select="eq(pict_type\,PICT_TYPE_I)" -vsync 0 frame%03d.jpg но сильно грузит систему, и держать в фоне тоже тоже не выход как мне кажется, но обязательно попробую Ваш вариант.
Raspberry 3, AMS 16, arduinka 2560, Orange pi Zero, Broadlink RM3, Xiaomi Mi Robot Vacuum SKV4000GL
Аватара пользователя
xor
Сообщения: 2038
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 284 раза
Поблагодарили: 629 раз

Re: помогите разобратся с скриптом

Сообщение xor » Чт сен 10, 2020 12:25 am

lihodeev писал(а):
Ср сен 09, 2020 11:51 pm
xor писал(а):
Ср сен 09, 2020 10:59 pm
ну, как правило - народ находит программку-распознавалку, работающую по параметрам из командной строки и прикручивает к мдм, в лучшем случае - добавляя какие-нибудь вызовы апи мажора(
Все именно так и есть, готового, нужного мне решения нет я пытаюсь разобраться. Что в этом не так? Я понимаю что Вы по всей видимости в коде как рыба в воде, я за все время ковыряя МД научился многому, и мне это нравится, и много благодаря участникам форума.
я не рыба( и сам так использую распознавалку, только у меня она фотки ест, которые по почте приходят от камер
fandaymon
Сообщения: 1553
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 39 раз
Поблагодарили: 574 раза

Re: помогите разобратся с скриптом

Сообщение fandaymon » Чт сен 10, 2020 12:53 am

tarasfrompir писал(а):
Ср сен 09, 2020 11:48 pm
fandaymon писал(а):
Ср сен 09, 2020 10:14 pm
Что касается самого вопроса - то смотреть есть ли у www-data права запускать sudo + питон же сам может кадры из rtsp потока дергать

video=cv2.VideoCapture("rtsp url")

отпадает надобность запускать ещё и ffmpeg
В связи с Вашим ответом -
Вопрос такого плана - как проверять 1 кадр в секунду - вместо всех что идут в изображении - чтобы не грузить систему ?
Я просто так и не нашел - отбор кадра - из потока....
Открыли поток
import cv2
cap = cv2.VideoCapture("rtsp:// ...")

читаем кадр в frame
ret, frame = cap.read()

дальше фрейм обрабатываем
Закончили обрабатывать - или делаем паузу или сразу читаем ещё один кадр
Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин
Благодарил (а): 223 раза
Поблагодарили: 815 раз

Re: помогите разобратся с скриптом

Сообщение tarasfrompir » Чт сен 10, 2020 8:23 am

fandaymon писал(а):
Чт сен 10, 2020 12:53 am
Закончили обрабатывать - или делаем паузу или сразу читаем ещё один кадр
к сожалению сколько пауз не делай сап.реад будет пытатся дочитиывать проток весь что есть


cap.read() returns a bool (True/False). If the frame is read correctly, it will be True. So you can check for the end of the video by checking this returned value.
ОН ВСЕГО только говорит что кадр для считывания готов - а не отфильтровывает кадры
Спасибо нам ПОМОЖЕТ..!
fandaymon
Сообщения: 1553
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 39 раз
Поблагодарили: 574 раза

Re: помогите разобратся с скриптом

Сообщение fandaymon » Чт сен 10, 2020 1:29 pm

tarasfrompir писал(а):
Чт сен 10, 2020 8:23 am
fandaymon писал(а):
Чт сен 10, 2020 12:53 am
Закончили обрабатывать - или делаем паузу или сразу читаем ещё один кадр
к сожалению сколько пауз не делай сап.реад будет пытатся дочитиывать проток весь что есть


cap.read() returns a bool (True/False). If the frame is read correctly, it will be True. So you can check for the end of the video by checking this returned value.
ОН ВСЕГО только говорит что кадр для считывания готов - а не отфильтровывает кадры
Нет, он именно считывает кадр в переменную frame. А в переменной ret - удалось считать кадр или нет
Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин
Благодарил (а): 223 раза
Поблагодарили: 815 раз

Re: помогите разобратся с скриптом

Сообщение tarasfrompir » Чт сен 10, 2020 1:39 pm

fandaymon писал(а):
Чт сен 10, 2020 1:29 pm
Нет, он именно считывает кадр в переменную frame. А в переменной ret - удалось считать кадр или нет
Он то считывает кадры - НО НЕ ФИЛЬТРУЕТ КАДРЫ ПО ЗАДЕРЖКЕ. А я выше спрашивал как считывать например каждый 25 кадр из видео .... при 25 кадрах в секунду???
"
ОН ВСЕГО только говорит что кадр для считывания готов - а не отфильтровывает кадры
"
Я руковожусь вот этим - https://opencv-python-tutroals.readthedocs.io/
Спасибо нам ПОМОЖЕТ..!
Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин
Благодарил (а): 223 раза
Поблагодарили: 815 раз

Re: помогите разобратся с скриптом

Сообщение tarasfrompir » Чт сен 10, 2020 1:42 pm

А я могу с помощью ффмпега выдирать каждый 25 кадр и пихать его в опенсв...
Весь то вопрос из за чего начался ???
Спасибо нам ПОМОЖЕТ..!
fandaymon
Сообщения: 1553
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 39 раз
Поблагодарили: 574 раза

Re: помогите разобратся с скриптом

Сообщение fandaymon » Чт сен 10, 2020 1:58 pm

tarasfrompir писал(а):
Чт сен 10, 2020 1:42 pm
А я могу с помощью ффмпега выдирать каждый 25 кадр и пихать его в опенсв...
Весь то вопрос из за чего начался ???
А зачем именно для этой задачи выдирать именно каждый 25й кадр? Надо просто брать тот кадр, который является текущим на время, когда алгоритм готов его обработать. Что cap.read успешно и делает
А чтобы не грузить систему делаем после каждого цикла чтение-распознавание time.sleep(1) В результате мы будет читать и распознавать 1 кадр за время=1 секунда + время требуемое алгоритму на распознавание
Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин
Благодарил (а): 223 раза
Поблагодарили: 815 раз

Re: помогите разобратся с скриптом

Сообщение tarasfrompir » Чт сен 10, 2020 2:08 pm

fandaymon писал(а):
Чт сен 10, 2020 1:58 pm
tarasfrompir писал(а):
Чт сен 10, 2020 1:42 pm
А я могу с помощью ффмпега выдирать каждый 25 кадр и пихать его в опенсв...
Весь то вопрос из за чего начался ???
А зачем именно для этой задачи выдирать именно каждый 25й кадр? Надо просто брать тот кадр, который является текущим на время, когда алгоритм готов его обработать. Что cap.read успешно и делает
А чтобы не грузить систему делаем после каждого цикла чтение-распознавание time.sleep(1) В результате мы будет читать и распознавать 1 кадр за время=1 секунда + время требуемое алгоритму на распознавание
И сколько времени будет обрабатывать распбери пай 3 один кадр ? Я просто хз . У меня сервак справляется за 0,01 секунды -а если за 2 секунды - то результат вообще плохой.
Спасибо нам ПОМОЖЕТ..!
fandaymon
Сообщения: 1553
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 39 раз
Поблагодарили: 574 раза

Re: помогите разобратся с скриптом

Сообщение fandaymon » Чт сен 10, 2020 2:34 pm

tarasfrompir писал(а):
Чт сен 10, 2020 2:08 pm
fandaymon писал(а):
Чт сен 10, 2020 1:58 pm
tarasfrompir писал(а):
Чт сен 10, 2020 1:42 pm
А я могу с помощью ффмпега выдирать каждый 25 кадр и пихать его в опенсв...
Весь то вопрос из за чего начался ???
А зачем именно для этой задачи выдирать именно каждый 25й кадр? Надо просто брать тот кадр, который является текущим на время, когда алгоритм готов его обработать. Что cap.read успешно и делает
А чтобы не грузить систему делаем после каждого цикла чтение-распознавание time.sleep(1) В результате мы будет читать и распознавать 1 кадр за время=1 секунда + время требуемое алгоритму на распознавание
И сколько времени будет обрабатывать распбери пай 3 один кадр ? Я просто хз . У меня сервак справляется за 0,01 секунды -а если за 2 секунды - то результат вообще плохой.
Какое это отношение имеет к чтению кадра? Вне зависимости от того как кадр получен, обрабатывать будет столько, сколько потребуется алгоритму, который вы заложите в распознавание. Каскады Хаара будут быстрее работать, dlib медленнее, dlib + корал опять быстрее. Для каких-то применений 2 секунды хороший результат (меня устраивает), для каких-то - плохой

Кстати - посмотрел как быстро работает на 4 малинке с Google Coral - 1.5 секунды.
Ответить