#python #opencv
#питон #opencv
Вопрос:
(Извините за ошибки в английском языке) Я пишу код, в котором есть эта часть:
def getVideoFrame(frame_number): global path video = cv2.VideoCapture(path) video.set(cv2.CAP_PROP_POS_FRAMES, frame_number) success, frame = video.read() return frame
В чем проблема с этим (эта часть должна возвращать кадр, переданный параметром)?
Я мало что знаю о python, но я думаю, что это нормально, я уже так много отлаживаю свой код, но я не могу найти ошибку, и весь мой поиск по коду заставляет меня думать, что ошибка в этой части, но я не знаю, где…
Комментарии:
1. проблема в поиске (установка CAP_PROP_POS_*). поиск часто бывает сложным или дорогостоящим, или неточным. избегайте этого.
2. о, я понимаю! Итак, если мне нужен именно тот кадр, я должен обвести все кадры вручную? Разве это не слишком обширно, или нет никаких вариантов?
3. зависит от того, как далеко вам нужно зайти в видео и сколько на самом деле стоит каждая операция. — если вам нужен поиск, вы должны использовать ffmpeg напрямую, например, с помощью PyAV.
4. Я полагаю, что мне придется использовать ffmpeg, мне нужно проверять кадры в разных положениях (невозможно предсказать, какой это будет кадр, он может быть одним из первых или может быть одним из последних).