# py **Repository Path**: that-boy/py ## Basic Information - **Project Name**: py - **Description**: python学习笔记 - **Primary Language**: Unknown - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-08-10 - **Last Updated**: 2022-08-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # WatermarkRemover 通过手动框选区域去除视频中位置固定的水印和字幕,项目基于Python3.7。 ## 效果 - 原始帧 - 去除水印 - 去除字幕 ## 如何使用 ### 1. 安装依赖: `pip install -r requirements.txt` ### 2. 运行程序 待处理视频放在`video`文件夹下,所有视频尺寸须保持一致,鼠标框选水印或字幕对应区域后按**SPACE**或**ENTER**键 - **函数调用示例** ```python #去除视频水印 remover = WatermarkRemover(threshold=80, kernel_size=5) remover.remove_video_watermark(video_path) #去除视频字幕 remover = WatermarkRemover(threshold=80, kernel_size=10) remover.remove_video_subtitle(video_path) ``` | Param | Description | | - | - | | threshold | 阈值分割灰度值,范围0~255,根据水印灰度值自行调整 | | kernel_size | 膨胀运算核尺寸,范围所有正整数,用于处理水印或字幕边缘 | - **输出** 去除水印:`output/[文件名] + [_no_watermark].mp4` 去除字幕:`output/[文件名] + [_no_sub].mp4` ## 流程图 - **去除水印** ```mermaid graph LR ROI[框选水印] --> SINGLE_MASK[截取若干帧生成对应模板] SINGLE_MASK -->|逻辑与运算|MASK[最终水印模板] MASK --> FRAME[读取视频] FRAME --> AUDIO[抽取音频] FRAME --> INPAINT[TELEA算法逐帧修复] INPAINT --> VIDEO[逐帧写入视频] AUDIO --> OUTPUT VIDEO --> OUTPUT[合并封装输出视频] ``` - **去除字幕** ```mermaid graph LR ROI[框选字幕] --> FRAME[读取视频] FRAME --> MASK[生成单帧图像模板] FRAME --> AUDIO[抽取音频] MASK --> INPAINT[TELEA算法逐帧修复] INPAINT --> VIDEO[逐帧写入视频] VIDEO --> OUTPUT[合并封装输出视频] AUDIO --> OUTPUT ```