瞭解視頻每幀的開始時間非常關鍵。 我需要使用下面的MATLAB代碼手動確定起始點(例如848這裏):我如何學習視頻中每個幀的開始時間?
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
我要的是用直方圖來區分與其他一些視頻幀。最後,我的目標是達到尊貴幀的確切展示時間。
的一些幀的直方圖大小與以前的不同,你知道原因嗎?
difference=[difference sum(abs(histcounts(video_frame)-histcounts(lastframe)))];
因爲服用我的差異有去除不同直方圖大小的幀,但它會導致缺少某些幀。
只是爲了澄清一些事情:你有顯示的東西(例如黑屏)一段時間的視頻,然後切發生,可以使用直方圖可以找到你想要的是被automaticallly發現,對不對?你能舉一個例子視頻文件嗎?這將是超級有用 – Finn
是的。很遺憾,由於版權問題,我無法分享視頻。視頻由第一個場景中的人臉和背景爲黑色,第二個場景中有一些文本,背景爲深白色,最後的第三個場景爲空白,背景又是深色的白色。你能回答一個隨機視頻嗎? – user951487