如何在MATLAB中有效地找到所有像素都具有相同颜色的视频帧?

雷米

在 MATLAB 中读取视频文件的有效方法是什么(意味着使用更少的循环和更短的运行时间)例如:vid1.wmv 使用此规范(长度:5 分钟,帧宽度:640,帧高度:480,帧速率) : 30 帧/秒)并提取所有像素为相同颜色(例如:黑色)且具有容差的帧的时间戳。以下是我的代码,非常耗时。每帧大约需要三分钟!

clear
close all
clc

videoObject = VideoReader('vid1.wmv');
numFrames = get(videoObject, 'NumberOfFrames');
all_same_color_frame=[];
for i=1:numFrames
    frame = read(videoObject,i); % reading the 10th frame
    W = get(videoObject, 'Width');
    H = get(videoObject, 'Height');
    q=1;
    for j=1:H
        for k=1:W
            rgb(q).pixl(i).frm = impixel(frame,j,k);
            q=q+1;
        end
    end
    Q=1;
    for x=1:q-1
        if std(rgb(x).pixl(i).frm)==0 % strict criterion on standard deviation
            Q=Q+1;
        end
    end
    if Q>0.9*q % if more than 90 percent of all frames had the same color
        all_same_color_frame = [all_same_color_frame i];
    end
end

提前致谢

雷米
videoObject = VideoReader('vid1.wmv');
b=[];t=[];
i=1;
while hasFrame(videoObject)
    a = readFrame(videoObject);
    b(i) = std2(a); % standard deviation for each image frame
    t(i) = get(videoObject, 'CurrentTime'); % time stamps of the frames for visual inspection
    i=i+1;
end
plot(t,b) % visual inspection

以上是我使用标准偏差来检测几乎所有像素颜色相同的帧的解决方案。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Matlab中有效地更改大.fig文件的颜色图?

更有效地找到具有相同总和的所有组合

如何在python中有效地合并两个具有容差的数据帧

如何在python中有效地找到两个字典之间的所有差异

如何在Kotlin中有效地创建具有一定长度和相同值的String

如何在 Matlab 中有效地计算单个有限差分?

如何在R中有效地附加列表的所有元素

如何在R中有效地联接具有多个主键的表?

如何在Unity中有效地对很多RGB颜色进行排序

如何在matplotlib中的补丁圆动画中有效地更改颜色?

如何在 GNOME Shell 中有效地找到我的终端窗口?

如何在R中有效地找到超过阈值的最长值序列

如何在python中有效地找到图形的顶部边界线

如何在matlab中有效地对数据进行bin

从2个数据帧中有效地找到日期时间范围的重叠

如何有效地比较具有相同x和y值的所有行的z值?

在MATLAB中有效地循环矢量

如何在 Python 中有效地将 2 元组的所有串联计算成更长的链

如何在Python中有效地生成具有随机斜率和截距的直线?

如何在Isabelle / Isar中有效地证明具有多个变量的存在命题?

如何在Cloud Firestore中有效地获取不同集合中具有特定ID的文档?

如何在数据帧的每一列中有效地按后继者划分

如何在 Python 中有效地搜索和访问数据帧中的某些单元格?

如何使用python在pandas数据帧中有效地迭代行

如何使用NDK有效地按比例放大视频帧

如何在带有短句的大型数据集中有效地使用spacy?

如何有效地找到具有特定大小的开放矩形?

如何有效地找到R中数据帧的插入索引?

如何有效地找到二进制数据帧中的模式?