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为黑屏或者低分辨率
posted @   小小咸鱼YwY  阅读(1167)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
历史上的今天:
2019-10-14 MYSQL事件隔离级别以及复读,幻读,脏读的理解
2019-10-14 前端实现文件下载所有方式
2019-10-14 vue-cli中使用jquery
2019-10-14 audio标签以及audio对象

目录导航

点击右上角即可分享
微信分享提示