第一步:获取视频第一帧图片

第二步:进行识别

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

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为黑屏或者低分辨率

本文分享 CNBlog - 加载时间中.....。

如有侵权,请联系 support@oschina.cn 删除。

本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

python截图黑屏_python识别视频黑屏或者低清晰度相关推荐

  1. python打开摄像头黑屏怎么办_python识别视频黑屏或者低清晰度

    第一步:获取视频第一帧图片 第二步:进行识别 import os import numpy as np import cv2 as cv from skimage import filters, io ...

  2. python控制台清屏_Python Shell 怎样清屏?

    启动Python有两种方式,分别为"Windows命令行窗口"和"IDLE" "命令行窗口"下可以通过如下两种方法: 1. import s ...

  3. android录屏弹窗,android视频截屏手机录屏实现代码

    本文介绍了android视频截屏&手机录屏实现代码,分享给大家,希望对大家有帮助 问题 在android中有时候我们需要对屏幕进行截屏操作,单一的截屏操作好解决可以通过activity的顶层v ...

  4. 电容屏物体识别_电容屏物体触控识别技术的简单介绍

    (文章来源:触宇光电) 物体识别是基于触控屏的标签识别交互系统,由触控屏和实物标签Marker,软件底层识别程序和软件上层效果程序,支持多个Marker同时显示,将Marker嵌入或粘合到待识别物体的 ...

  5. html5的播放绿屏,电脑看视频绿屏怎么办?看视频绿屏解决方法

    经常在视频网站看视频的朋友,可能会遇到播放器出现绿屏的情况,原因出在flash,不细讲,直接上方法 法一.使用360安全卫士,人工服务==输入看视频分屏==立即修复. 法二.在你花屏的区域右击==设置 ...

  6. 电脑HTML5播放绿屏,电脑看视频绿屏怎么办?看视频绿屏解决方法

    经常在视频网站看视频的朋友,可能会遇到播放器出现绿屏的情况,原因出在flash,不细讲,直接上方法 法一.使用360安全卫士,人工服务==输入看视频分屏==立即修复. 法二.在你花屏的区域右击==设置 ...

  7. python实现数字时钟_Python 写的全屏数字时钟软件,看看还有什么改进的地方

    zgzb:软件启动图: https://s1.ax1x.com/2020/09/25/096RzV.png 链接: https://www.lanzoux.com/i2vCzgwo0xa wjj572 ...

  8. python新手入门课_Python基础视频12集入门课程

    视频+笔记:├─1简介与实验环境配置9│ Python基础.pptx│ Python简介.pptx│ 实验环境配置2-1.pdf│ 2.1简介与实验环境配置.mp4│ 请简述 Python 语言与 C ...

  9. python 录屏_python实现录制全屏和选择区域录屏功能代码

    本篇文章小编给大家分享一下python实现录制全屏和选择区域录屏功能代码,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 代码如下: import cv ...

最新文章

  1. win 7 旗舰版镜像 注入USB3.0 驱动
  2. MATLAB字符数组和空数组
  3. Redis缓存持久化:RDB持久化和AOF持久化
  4. POI的XWPFTableCell的方法
  5. java两个对象属性比较
  6. Win10安装JDK与配置环境变量
  7. javascript css 合并压缩SquishIt – The Friendly ASP.NET JavaScript and CSS Squisher
  8. java2实用教程第五版耿祥义电子版_java2实用教程第五版
  9. trend函数用oracle实现,Excel函数TREND函数的用法
  10. RAID磁盘阵列与阵列卡 2022.6.5
  11. GM8827C 多通道LVDS 串行发送器,27位CMOS/TTL信号转化为多路LVDS信号
  12. 工控网络安全防护分析与建议
  13. 第一章、linux入门及基本命令(案例讲解)
  14. 32 | Linux系统和应用安全:如何大范围提高平台安全性?
  15. java 读excel 流_Java中使用POI读取大的Excel文件或者输入流时发生out of memory异常参考解决方案...
  16. 微信公众号开发-----接送事件推送之关注/取消关注
  17. nmon和nmon analyser的下载和使用
  18. Retrace AV推出新型涂料添加剂,可在30分钟内灭杀新冠病毒
  19. 《Flutter 控件大全》第五十二个:Hero
  20. [系统安全] 二十一.PE数字签名之(中)Signcode、PEView、010Editor、Asn1View工具用法

热门文章

  1. sci论文格式有什么要求!
  2. 小提琴 只给最喜欢的人
  3. oracle数据库定义游标,Oracle游标声明
  4. 西门子精智触摸屏如何将输入的键盘放大以便于输入数据?
  5. 女人智商低下的六个瞬间
  6. 链表的基本概念以及java实现单链表-循环链表-双向链表
  7. 2023年NOC大赛coding创意编程赛道(腾讯)【初中-Python-虚拟仿真实验室】模拟卷
  8. Wind量化接口常见错误码
  9. 花菁染料CY3/CY5.5/CY7标记木聚糖/鼠李糖/纤维二糖,Xylan/Rhamnose/Cellobiose, CY3/CY5.5/CY7 labeled;
  10. 企业呼叫中心外包服务市场现状研究分析-