Очень важно узнать время начала каждого кадра видео. мне нужно, чтобы определить начальную точку вручную (например, 848 здесь), используя ниже MatLab код:Как узнать время начала каждого кадра в видео?
v = VideoReader('video1.avi','CurrentTime',848);
while hasFrame(v)
video_frame = readFrame(v);
counter=counter+1;
if counter==1
imshow(video_frame)
imhist(video_frame(:,:,1))
end
end
То, что я хочу, чтобы отличить некоторые видеокадра от других с помощью гистограммы. В конце моя цель - достичь точного времени показа выделенных кадров.
После editting: Это кадр гистограмма выходы:
Гистограмма размер некоторых кадров отличается от предыдущего, вы знаете причину?
difference=[difference sum(abs(histcounts(video_frame)-histcounts(lastframe)))];
Из-за использования разницы в I было удалить различные рамки размера гистограммы, но это вызывает отсутствуют некоторые кадры.
просто убрать вещи: у вас есть видео, которое показывает что-то (например, черный экран) в течение некоторого времени, а затем вырезать случается, что можно найти с помощью гистограмм и вы хотите, чтобы найти automaticallly, верно? Можете ли вы привести пример видеофайла? что было бы очень полезно – Finn
Да точно. К сожалению, я не могу поделиться видео из-за некоторых проблем с авторским правом. Видео состоит из первой сцены, лицо человека и фон черного цвета, во второй сцене есть текст, а задний фон темно-белый, а окончательная третья сцена пуста, а фон снова темно-белый. Не могли бы вы ответить на него случайно? – user951487