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的import导入与时间
一.模块与包 模块,在Python可理解为对应于一个文件.在创建了一个脚本文件后,定义了某些函数和变量.你在其他需要这些功能的文件中,导入这模块,就可重用这些函数和变量.一般用module_name. ...
- python怎么导入文件-Python文件如何引入?详解引入Python文件步骤
python基本语法--引入Python文件 1.新建python文件 :在同目录lib下创建mylib.py和loadlib.py两个文件 2.在mylib.py文件中创建一个Hello的类 并且给 ...
- python怎么导入时间-python初步学习-import和datetime模块
模块 一个完整大型的python程序是由模块和包的形式组织起来的,可见模块在python中的重要性.模块是一种组织型式,它许多有关联(关系)的代码组织放到单独的独立文件中.简单的说,可以把模块理解为一 ...
- python怎么导入包-Python模块导入与包构建最佳实践
[TOC] 最开始写程序的时候,都是一个文件里输入几行源码(python 的一个 web 框架bottle就特别强调自己是单文件框架).随着程程式变大变复杂,一个文件很难承载如此多的功能,因此将代码拆 ...
- python怎么导入时间-Python,模块导入方式和time模块的使用
一.模块的导入 1. 模块导入会将要导入的文件执行一遍 2. 导入模块的名称就是我们定义的脚本或包的名称 3. 我们导入模块的过程总结就是:在指定的范围内搜索指定名称对 python 脚本或者包,将其 ...
- python怎么导入模块-Python中如何引入第三方模块
Python中怎么使用第三方模块? 在Python可以在代码中导入模块,然后就可以使用第三方模块了. import 语句 想使用Python源文件,只需在另一个源文件里执行import语句,语法如下: ...
- python怎么导入包-python模块之导入包及模块发布
1.导入包(不常用的方法) 在使用python的包时,有时候想直接导入包名,然后通过包名来调用模块,例如: temp为我们创建的一个包,如果我们想通过下面的方式进行导入模块中的方法,将会出错 impo ...
- python怎么导入文件-Python模块导入详解
定义 模块:用来从逻辑上组织Python代码(变量.函数.类.逻辑)去实现一个功能.本质就是.py结尾的Python文件. 包:用来从逻辑上组织模块的(可以放一堆模块在目录下).本质就是一个目录(必须 ...
- python怎么导入文本-Python 导入文件问题
1.同级目录下调用 若在程序 testone.py 中导入模块 testtwo.py , 则直接使用 [import testtwo 或 from testtwo import *] 2.调用子目录下 ...
最新文章
- ISLR_StatisticalLearning
- PLSQL_解析过程及硬解析和软解析的区别(案例)
- 事务策略: 了解事务陷阱--转
- linux发邮件安装什么意思,linux – 如何找出安装/发送电子邮件的邮件程序?
- 用.NET 2.0压缩解压功能处理大型数据
- 想聊天?自己搭建个聊天机器人吧!
- android屏幕适配的五种方式_讲一讲Android 9.0系统的新特性,对刘海屏设备进行适配...
- python之获取微信服务器的ip地址
- 阿里云自研新一代企业云数据库POLARDB背后的技术
- 矩形键盘 linux,基于ARM的矩阵键盘设计及其linux驱动实现
- 计算机一级在线解析,2016年计算机一级试题及答案解析
- Uniswap 24小时交易量9.7亿美元,占以太坊上Dex总量的54%
- java连接mysql-8.0.11且成功读写
- 拓端tecdat|Matlab通过市场数据校准Hull-White利率模型参数
- uniapp 解决切换横竖屏后内容错乱的问题
- 15本职场必读书,得挑几本看看!
- 实时语音场景下的智能对话
- 探索式测试之隐喻(种植)
- python如何定义矩阵_基础 | Python下的矩阵定义 (下)
- 鸿蒙和宙斯谁厉害,对抗达克赛德第一次入侵的旧神联盟去哪了
热门文章
- 显卡测试软件3d mark,显卡评测工具3DMark跑分结果变了:可以直接PK同等配置
- 机器人 知乎碧桂园_从房地产大亨到跨界造“机器人”,碧桂园葫芦里卖着什么药?...
- 千兆网卡为什么慢_千兆宽带普及率不到1% 消费者为何不愿意用千兆宽带?
- python3 socketserver_python3 socketserver
- ironbot智能编程机器人_视频 | 多模式编程机器人,“程序猿”培养从小抓起
- 梯度下降法——得到的结果可能是局部最优值,如果凸函数则可保证梯度下降得到的是全局最优值...
- Python中使用Flask、MongoDB搭建简易图片服务器
- numpy insert
- MySql -- 数据结构
- JframeMaxSize