python去除视频马赛克_python 给视频添加马赛克
用法:
1. 创建空文件夹:imgs
2. 将倒数第三行中的"222056.mov"改为你的视频路径,如:"a.mov"
3. 运行以下代码
4. 稍等片刻,鼠标拖动选择添加马赛克区域,按enter确定(每次操作只能添加一个马赛克区域,视频会根据所选区域全程添加马赛克)
5. 稍等片刻,'a.avi '就是做好的视频文件,!!!注意!!!该视频文件没有音频
展望:
可以结合opencv的图像修复功能实现消除图标,效果比一坨马赛克好上不知几倍!有空再搞……
源码:
import cv2, os
import numpy as np
def video2img(videoroot):
cap = cv2.VideoCapture(videoroot)
isOpened = cap.isOpened # 判断是否打开‘
print(isOpened)
fps = cap.get(cv2.CAP_PROP_FPS) #帧率
width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
print(fps,width,height)
i = 0
while(isOpened):
i += 1
(flag,frame) = cap.read() # 读取每一张 flag frame
fileName = './imgs/image'+str(i)+'.jpg'
print(fileName)
if flag == True:
frame = np.rot90(frame, 1)
cv2.imwrite(fileName,frame)
else:
break
return fps
def img2video(outvideoroot, fps):
img = cv2.imread('./imgs/image1.jpg')
imgInfo = img.shape
size = (imgInfo[1],imgInfo[0])
print(size)
fourcc = cv2.VideoWriter_fourcc(*'XVID')
videowriter = cv2.VideoWriter(outvideoroot,fourcc,fps,size)
list_imgs = os.listdir('./imgs')
for i in range(1, len(list_imgs)):
fileName = './imgs/image'+str(i)+'.jpg'
img = cv2.imread(fileName)
videowriter.write(img)
def get_xoy():
imgsroot = './imgs'
list_ = os.listdir(imgsroot)
for n in list_:
path_ = os.path.join(imgsroot, n)
img = cv2.imread(path_)
bbox = cv2.selectROI('selectroi', img)
break
return bbox
def fitsign():
box = get_xoy()
xo, yo, w, h = box[0], box[1],box[2],box[3],
print(box)
dstroot = './imgs'
dstlist = os.listdir(dstroot)
kernel_size = (41, 41)
sigma = 50
for n in dstlist:
path_ = os.path.join(dstroot, n)
img = cv2.imread(path_)
crop = img[yo:yo+h, xo:xo+w, :]
crop = cv2.GaussianBlur(crop, kernel_size, sigma)
# crop = cv2.blur(crop, (41,41))
img[yo:yo+h, xo:xo+w, :] = crop
cv2.imwrite(path_, img)
if __name__ == "__main__":
fps = video2img("222056.mov")
fitsign()
img2video('a.avi', fps)
python去除视频马赛克_python 给视频添加马赛克相关推荐
- python去除图片水印_Python | 图中使用类的水印
python去除图片水印 Sometimes, we need to add watermark as a standard category of plots and therefore, we a ...
- python新手入门课_Python基础视频12集入门课程
视频+笔记:├─1简介与实验环境配置9│ Python基础.pptx│ Python简介.pptx│ 实验环境配置2-1.pdf│ 2.1简介与实验环境配置.mp4│ 请简述 Python 语言与 C ...
- python怎么去掉视频字幕_Python实现视频语音和字幕自动审查功能
功能描述: 提取视频文件中的图像然后使用OCR技术识别静态图像中的文本,提取视频文件中的音频然后使用语音识别技术提取其中的文本,如果视频文本或音频文本中包含指定的关键词则进行提示. 代码使用tesse ...
- python音视频开发_Python音视频开发:消除抖音短视频Logo的图形化工具实现
一.引言 在<Python音视频开发:消除抖音短视频Logo和去电视台标的实现详解>节介绍了怎么通过Python+Moviepy+OpenCV实现消除视频Logo的四种方法,并提供了详细的 ...
- python 获取本地视频信息_python获取视频文件信息
技术爱好者 随笔 - 42, 文章 - 0, 评论 - 0, 引用 - 0 importos importsys importxlwt from moviepy.editor importVideoF ...
- python截图黑屏_python识别视频黑屏或者低清晰度
第一步:获取视频第一帧图片 第二步:进行识别 import os import numpy as np import cv2 as cv from skimage import filters, io ...
- python截取视频图像_python提取视频第一帧图片
一.实现代码 # -*- coding: utf-8 -*- import cv2 from PIL import Image from io import BytesIO def tryTime(m ...
- python截取视频图片_python提取视频第一帧图片
一.实现代码 # -*- coding: utf-8 -*- import cv2 from PIL import Image from io import BytesIO def tryTime(m ...
- python视频裁剪_Python MovePy 视频区域裁剪
import cv2 import numpyas np coor_x,coor_y= -1, -1 # 初始值并无意义,只是为了能够使用np.row_stack函数 # ""&q ...
最新文章
- 深度学习笔记9 Sparse coding
- python报错:ImportError: cannot import name autojit from numba(无法导入numba.autojit)
- SAP Spartacus HTML Tags 实现介绍
- 微软 Small Basic
- java调用solr的分词查询结果
- beautifulsoup爬取网页中的表格_PYTHON爬取数据储存到excel
- 多校3 1008 Solve this interesting problem
- yyyy-MM-dd HH:mm:ss和yyyy-MM-dd hh:mm:ss的区别
- 友盟分享失败后有回调吗_友盟分享成功回调问题
- 硬盘被计算机限制如果解锁,硬盘被锁怎么办
- 手机工商银行怎么转账_工行手机银行可以转账吗
- Exch:POP3 和 IMAP4 操作指南
- echarts树状图
- NYOJ -1364 (第十一届河南省赛)
- 64位:浪来滔滔江水永不休
- python爬虫实践(三)——爬取煎蛋网图片
- 左耳朵耗子:我看ChatGPT,为啥谷歌掉了千亿美金
- 记录CTF命令执行练习中遇到的几道题(一些PHP命令过滤的绕过方法)
- 数字签名、证书,RSA加密、解密
- c语言循环语句sleep不正常,求助C语言Sleep延迟输入问题