确定"质量" Python中的视频

时间:2016-01-26 22:56:38

标签: python video

我正在努力计算一个粗糙的质量"视频的指标,需要考虑以下因素:

  • "平滑度"视频;即,如何"波涛汹涌的"它是
  • 图像质量;即如果存在大量压缩伪像,则质量应该减小

我遇到了https://github.com/aizvorski/scikit-video,但代码似乎充满了TODOifelse((is.na(var1) & is.na(var2) & (var3 %in% 1 | 0)), resultused <- "July", ifelse((is.na(var1) & is.na(var2) & var3 %in% 0), resultused <- "July", ifelse((var1 %in% 0 & is.na(var2) & var3 %in% 1), resultused <- "July", ifelse((var1 %in% 0 & var2 %in% 0 & var3 %in% 1), resultused <- "July", ifelse((var1 %in% 0 & var2 %in% 0 & var3 %in% 0 & var4 %in% 1 & var5 %in% 0 & var6 %in% 0 & years %in% c(2,3,4)), resultused <-"July", ifelse((is.na(var1) & (var2 %in% 0 | 1) & is.na(var3)), resultused <-"Dec", ifelse((is.na(var1) & (var2 %in% 0 | 1) & var3 %in% 0), resultused <- "Dec", ifelse((var1 %in% 0 & var2 %in% 1 & is.na(var3)), resultused <- "Dec", ifelse((var1 %in% 0 & var2 %in% 1 & var3 %in% 0), resultused <- "Dec", ifelse((is.na(var4) & (var5 %in% 0 | 1) & is.na(var6)), resultused <- "Dec", ifelse((var4 %in% 0 & (var5 %in% 0 | 1) & is.na(var6) & (is.na(years) | years %in% c(5, 6))), resultused <- "Dec", ifelse(((var1 %in% 0 | 1) & is.na(var2) & is.na(var3)), resultused <- "May", ifelse(((var1 %in% 0 | 1) & var2 %in% 0 & is.na(var3)), resultused <- "May", ifelse(((var1 %in% 0 | 1) & var2 %in% 0 & var3 %in% 0), resultused <- "May", ifelse((var1 %in% 1 & is.na(var2) & var3 %in% 1), resultused <- "May", ifelse((var1 %in% 1 & var2 %in% 1 & var3 %in% 0), resultused <- "May", ifelse((var1 %in% 1 & var2 %in% 1 & is.na(var3)), resultused <- "May", ifelse(((var1 %in% 0 | 1) & is.na(var2) & var3 %in% 0), resultused <- "May", NA)))))))))))))))))) s,而且几乎没有任何评论或文档。

是否有用于计算视频质量的Python库,甚至是带有CLI的程序,或者是否有一组库可以帮助我分别计算上述两个指标?

1 个答案:

答案 0 :(得分:0)

图像质量

我认为&#34;图像质量&#34;主要是比特深度(或有效比特深度)和比特率的函数。

您可以解析ffmpeg输出以获取此信息。 PIL或PyQt / PySide也可以这样做。

光滑

为了平滑,您可能需要使用某种类型的光流算法并逐帧获得增量。

OpenCV看起来像是一个完成许多这些事情的项目。