python识别视频黑屏或者低清晰度
第一步:获取视频第一帧图片
https://www.cnblogs.com/pythonywy/p/13749735.html
第二步:进行识别
import os
import numpy as np
import cv2 as cv
from skimage import filters, io
class DetectException(Exception):
pass
class DetectionUtil:
DARK_THRES_PIXEL = 20
DARK_THRES_PERCENT = 0.90
QUALITY_THRES = 30
def unqualified_detection(self, image_path):
"""black screen or low quality."""
# image = cv.imread(image_path)
try:
image = io.imread(image_path)
except Exception as e:
raise DetectException(e)
image = image[:, :, ::-1]
gray_image = cv.cvtColor(image, cv.COLOR_BGR2GRAY)
row, col = gray_image.shape[:2]
pixel_count = row*col
dark_condition = (gray_image <self.DARK_THRES_PIXEL)
dark_array = gray_image[dark_condition]
if dark_array.size / pixel_count >= self.DARK_THRES_PERCENT:
return True
quality = self.genengrad_detection(image)
if quality < self.QUALITY_THRES:
return True
return False
def _preprocess_image(self, image):
re_img = cv.resize(image, (800, 900), interpolation=cv.INTER_CUBIC)
gray_image = cv.cvtColor(re_img, cv.COLOR_BGR2GRAY)
image_matrix = np.matrix(gray_image)
return image_matrix
def genengrad_detection(self, image):
matrix =self._preprocess_image(image)
return np.sqrt(np.sum(filters.sobel(matrix)**2))
if __name__ == "__main__":
print(DetectionUtil().unqualified_detection(r"视频封面地址"))
#true为黑屏或者低分辨率
python识别视频黑屏或者低清晰度的更多相关文章
- Easy AR官方实例HelloARVideo无法播放视频,视频黑屏,只有声音----解决办法
在学习AR时,发现EasyAR的官方案例居然运行有问题,经过一整天的各种查找与实践,终于找出解决办法! 首先,识别图像 播放视频的实例只支持在手机运行,PC端是无法看出实际效果的. 其次,视频黑屏,只 ...
- 索尼Sony ATI显卡驱动 Win7 Win8 Win8.1 视频黑屏 解决方法
索尼ATI显卡驱动 Win7 Win8 Win8.1 视频 黑屏 完美解决方法: 下载这个补丁 安装 即可 解决 ! baidu pan: http://pan.baidu.com/s/1gd ...
- HTML5 video 播放视频黑屏
<video width="320" height="240" controls> <source src="movi ...
- hp惠普工作站 安装ESXI 从U盘启动黑屏问题
[背景] 公司新买了一套hp z238 workstation需要安装esxi,我按照以前的方法制作好U盘后插入从U盘引导,显示屏一直黑屏,这个问题困扰了我一天....在网上找了好久无果 第二天终于在 ...
- Cocos2dx3.11.1Android播放视频,后台 黑屏,无法记忆播放bug修改
/* * Copyright (C) 2006 The Android Open Source Project * Copyright (c) 2014 Chukong Technologies In ...
- Adblock Plus完美过滤视频网站广告、无黑屏!及屏蔽非本站脚本的Adblock Plus过滤器语法之探讨
测试用浏览器:Firefox 24.订阅的Adblock Plus过滤规则有默认的 ChinaList + EasyList,和国内视频广告规则[Yge.me],其网址:http://i.yge.me ...
- Vuforia切换回识别场景后黑屏解决
使用Vuforia SDK开发时,如果从其他非识别场景切换回识别场景,可能会出现黑屏问题. 解决方法是在切换到其他场景时,先将当前场景的Tracker信息全部Stop.代码如下: IEnumerato ...
- video标签加载视频有声音却黑屏
问题 昨天用户上传了一个视频文件,然而发现虽然有声音但是黑屏. 解释 因为原视频的编码是用 mp4v 格式的,它需要专用的解码器.而 chrome 并不支持,所以无法播放. 然后如果用转码功能转成用 ...
- 无法开机 如果您的手机黑屏无法开机,可以按照以下方式操作尝试: 如果是,使用原装充电器或使用弱电流方式充电(例如使用电脑USB接口充电)充电15-30分钟后尝试重新开机;注意:电量过低引起的无法开机,刚插入充电器时可能不亮屏但呼吸灯闪烁状态。
https://www.mi.com/service/support/startup 无法开机 如果您的手机黑屏无法开机,可以按照以下方式操作尝试: 技术支持 如何刷机 无法开机 手机自动关机.重启 ...
随机推荐
- 使用PyCharm引入需要使用的包
在学习python的时候,被推荐了使用PyCharm这款IDE,但是经常在已经pip安装第三方包的时候import包的时候却发生了问题- -无法引入. 进行模块的加载,百度之后,了解到,在这款IDE中 ...
- Flutter学习三之搭建一个简单的项目框架
上一篇文章介绍了Dart的语法的基本使用,从这篇文章开始,开发一个基于玩Android网站的app.使用的他们开放的api来获取网站数据. 根据网站的结构,我们app最外层框架需要添加一个底部导航栏, ...
- keepalived+nginx集群
https://blog.csdn.net/l1028386804/article/details/72801492?ops_request_misc=%257B%2522request%255Fid ...
- Spark 模型选择和调参
Spark - ML Tuning 官方文档:https://spark.apache.org/docs/2.2.0/ml-tuning.html 这一章节主要讲述如何通过使用MLlib的工具来调试模 ...
- Spring ioc 源码分析之--beanFactory.registerResolvableDependency()方法
背景: 在spring ioc refresh()方法中,看到了如下逻辑: 要理解该逻辑的原理,先看场景:有个接口InterFaceA,它有2个实现类A1和A2 那么,如果一个类C 依赖了InterF ...
- golang go语言 实现链表
package main import ( "errors" "fmt" "strconv" ) type List struct { Le ...
- C\C++中计时、延时函数
转载:https://blog.csdn.net/keith_bb/article/details/53055380 C\C++标准库中提供了两种计时函数clock()和time().其用法如下:(1 ...
- error C2491: 不允许 dllimport 函数 的定义
转载:https://blog.csdn.net/gaofeidongdong/article/details/7781345 在工程属性中 预编译宏中加上 DLL_EXPORT为了减少使用dll时候 ...
- css引入本地字体
1.首先创建一个字体 @font-face { font-family: 'number_font'; //创建一个number_font字体名称 src: url('../../../style/F ...
- JMeter实战(一) 体系结构
此为开篇,介绍JMeter的组成结构,阅读后对JMeter形成整体认知和初步印象. 为了便于后续讲解,先明确下2个术语. 元件:如HTTP请求.事务控制器.响应断言,就是一个元件. 组件:如逻辑控制器 ...