MP4如何让去水印?python带你实现~

该文章介绍了一个使用Python和相关库(如cv2、numpy、moviepy)去除视频水印和字幕的程序。通过手动选择ROI,程序能生成水印和字幕的蒙版,然后应用图像修复算法进行处理。最后,它将处理后的视频与原音频合并,输出无水印或无字幕的视频。

前言

嗨喽,大家好呀~这里是爱看美女的茜茜呐

开发环境:

  • 解释器版本: python 3.8

  • 代码编辑器: pycharm 2021.2

模块使用:

内置模块(无需安装)

  • os —> python系统编程的操作模块,提供了非常丰富的功能去处理文件和目录

  • sys —> 是与Python解释器交互的桥梁

  • cv2 —> 流行的开源计算机视觉库,提供了丰富的图像和视频处理功能

第三方模块

  • numpy —> 用于数值计算的基础模块,支持大量的维度数值与矩阵计算

  • moviepy —> 用于视频剪辑、合成和处理

第三方模块安装:

  1. win + R 输入 cmd 点击确定, 输入安装命令 pip install 模块名 (pip install requests) 回车

  2. 在pycharm中点击Terminal(终端) 输入安装命令

模块可能安装失败原因:出现大量报红 (read time out)

解决方法: 因为是网络链接超时, 需要切换镜像源

可使用镜像源例举:

  1. 清华:https://pypi.tuna.tsinghua.edu.cn/simple

  2. 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/

  3. 华中理工大学:https://pypi.hustunique.com/

  4. 山东理工大学:https://pypi.sdutlinux.org/

例如:pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple/ 模块名


👇 👇 👇 更多精彩机密、教程,尽在下方,赶紧点击了解吧~

素材、视频教程、完整代码、插件安装教程我都准备好了,直接在文末名片自取就可


代码展示

导入模块

import os
import sys

import cv2
import numpy
from moviepy import editor
VIDEO_PATH = 'video'
OUTPUT_PATH = 'output'
TEMP_VIDEO = 'temp.mp4'


class WatermarkRemover():

    def __init__(self, threshold: int, kernel_size: int):
        self.threshold = threshold  # 阈值分割所用阈值
        self.kernel_size = kernel_size  # 膨胀运算核尺寸

    def select_roi(self, img: numpy.ndarray, hint: str) -> list:

框选水印或字幕位置,SPACE或ENTER键退出

:param img: 显示图片

:return: 框选区域坐标

        COFF = 0.7
        w, h = int(COFF * img.shape[1]), int(COFF * img.shape[0])
        resize_img = cv2.resize(img, (w, h))
        roi = cv2.selectROI(hint, resize_img, False, False)
        cv2.destroyAllWindows()
        watermark_roi = [int(roi[0] / COFF), int(roi[1] / COFF), int(roi[2] / COFF), int(roi[3] / COFF)]
        return watermark_roi

    def dilate_mask(self, mask: numpy.ndarray) -> numpy.ndarray:

对蒙版进行膨胀运算

:param mask: 蒙版图片

:return: 膨胀处理后蒙版

        kernel = numpy.ones((self
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值