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 无法开机 如果您的手机黑屏无法开机,可以按照以下方式操作尝试: 技术支持 如何刷机 无法开机 手机自动关机.重启 ...
随机推荐
- java虚拟机配置
-XXSurvivorRatio 设置两个survivor和eden的比,8表示两个survivor:eden:2:8.survivor的比例影响新生代向老年代移动的数度.survivor比例越小,新 ...
- input输入框 只能输入数字 oninput = "value=value.replace(/[^\d]/g,'')" input输入框输入大于0的数字 oninput="value=value.replace(/\D|^0/g,'')"
项目中因为利用 element-ui 和avue两个ui框架搭建的 1.利用element-ui自带的校验需要注意点 prop :rules ref这三个属性 2.利用oninput时间进行校验 ...
- vue 游戏手柄使用
直接上代码. <template> <div class="home"> </div> </template> <script ...
- kafka面试总结
本文为复习期间面试总结 从以下方面对kafka面试进行总结:基本原理架构/项目实践/生产者/消费者/协调者/存储层/控制器 基本原理架构 简单讲下什么是kafka[一句话概括/架构图] 消息队列选型 ...
- Linux里面的压缩和解压类指令
gzip/gunzip 指令 ( .gz 不能压缩目录) gzip 用于压缩文件, gunzip 用于解压的 . gzip gzip命令用来压缩文件.gzip是个使用广泛的压缩程序,文件经它压缩过后 ...
- Maven依赖管理之BOM
目录 什么是BOM 一个BOM的格式 怎么使用BOM 通过parent引用 通过dependencyManagement引用 怎么查看依赖的某个BOM的具体清单 版本冲突时的一些规则 何为依赖调节 参 ...
- Python练习题 041:Project Euler 013:求和、取前10位数值
本题来自 Project Euler 第13题:https://projecteuler.net/problem=13 # Project Euler: Problem 13: Large sum # ...
- P3419 [POI2005]SAM-Toy Cars / SP688 SAM - Toy Cars
一道很妙的贪心题 题面 我们考虑当我们插入时会面临的两种情况 当地上的玩具,不满 \(k\) 个时,那我们直接放就可以了. 当满了 \(k\) 个的时候,我们就要从地上拿出一个来给当前的腾位置. 这就 ...
- windev的内部窗口传参方式及其与类的相似性
最近的应用,需要向一个内部窗口(internal window)传参,因为官方文档的说明较为宽泛,虽然结果只有两小段代码,但也费了很大的劲.把所有关于procedure的文档看一遍,又是重新学习了一遍 ...
- vue+elementUI实现 分页表格的单选或者多选、及禁止部分选择
一.vue+elementUI实现 分页表格前的多选 多选效果图: 代码如下: <el-table ref="multipleTable" :data="listD ...