我一直在研究一种算法,可以检测视频中诱发癫痫的频闪灯。
目前,我的代码实际上返回的每一帧都能够引起癫痫发作(3Hz闪烁)。
我的代码计算每个像素的相对亮度,并查看在任何给定的秒内,亮度先升后降,等等,再降后升等次数超过10%。
有没有办法在不比较彼此之间一秒钟内的每个单独像素的情况下执行此操作,而该方法只会返回正确的帧。
我尝试模仿的示例:https://trace.umd.edu/peat
最佳答案
解决此类问题的常用方法是将帧转换为灰度,然后构造一个包含1到3秒时间间隔内的帧的多维数据集。从此多维数据集,您可以提取单个像素(有噪点)或块(推荐)的时变特征。首先可以手动观察生成的1D曲线,看看它们是否确实显示了您正在寻找的3Hz变化(有时,这些变化会由于相机的自动曝光设置而丢失或失真)。如果可以看到它们,他们应该可以使用FFT来自动隔离和检测它。