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

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

Модератор: immortal

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

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
Сообщения: 1684
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 187 раз
Поблагодарили: 493 раза

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

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

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

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
Сообщения: 2984
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин
Благодарил (а): 193 раза
Поблагодарили: 722 раза

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
Сообщения: 1134
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 33 раза
Поблагодарили: 441 раз

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
Сообщения: 2984
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин
Благодарил (а): 193 раза
Поблагодарили: 722 раза

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

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

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

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

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

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

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

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

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

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
Сообщения: 1134
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 33 раза
Поблагодарили: 441 раз

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 секунды.
Ответить