用法:

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 给视频添加马赛克相关推荐

  1. 多个视频去色并快速添加马赛克的最简单方法

    在剪辑视频的时候,我们可能会遇到各种各样的问题,比如怎么给每个视频去色,然后在某个画面上添加马赛克之类的,该如何实现呢?不知道怎么操作的宝贝们,下面一起来学习一下. 教程之前, 先预览一下用视频剪辑高 ...

  2. python怎么导入时间-Python的import导入与时间

    一.模块与包 模块,在Python可理解为对应于一个文件.在创建了一个脚本文件后,定义了某些函数和变量.你在其他需要这些功能的文件中,导入这模块,就可重用这些函数和变量.一般用module_name. ...

  3. python怎么导入文件-Python文件如何引入?详解引入Python文件步骤

    python基本语法--引入Python文件 1.新建python文件 :在同目录lib下创建mylib.py和loadlib.py两个文件 2.在mylib.py文件中创建一个Hello的类 并且给 ...

  4. python怎么导入时间-python初步学习-import和datetime模块

    模块 一个完整大型的python程序是由模块和包的形式组织起来的,可见模块在python中的重要性.模块是一种组织型式,它许多有关联(关系)的代码组织放到单独的独立文件中.简单的说,可以把模块理解为一 ...

  5. python怎么导入包-Python模块导入与包构建最佳实践

    [TOC] 最开始写程序的时候,都是一个文件里输入几行源码(python 的一个 web 框架bottle就特别强调自己是单文件框架).随着程程式变大变复杂,一个文件很难承载如此多的功能,因此将代码拆 ...

  6. python怎么导入时间-Python,模块导入方式和time模块的使用

    一.模块的导入 1. 模块导入会将要导入的文件执行一遍 2. 导入模块的名称就是我们定义的脚本或包的名称 3. 我们导入模块的过程总结就是:在指定的范围内搜索指定名称对 python 脚本或者包,将其 ...

  7. python怎么导入模块-Python中如何引入第三方模块

    Python中怎么使用第三方模块? 在Python可以在代码中导入模块,然后就可以使用第三方模块了. import 语句 想使用Python源文件,只需在另一个源文件里执行import语句,语法如下: ...

  8. python怎么导入包-python模块之导入包及模块发布

    1.导入包(不常用的方法) 在使用python的包时,有时候想直接导入包名,然后通过包名来调用模块,例如: temp为我们创建的一个包,如果我们想通过下面的方式进行导入模块中的方法,将会出错 impo ...

  9. python怎么导入文件-Python模块导入详解

    定义 模块:用来从逻辑上组织Python代码(变量.函数.类.逻辑)去实现一个功能.本质就是.py结尾的Python文件. 包:用来从逻辑上组织模块的(可以放一堆模块在目录下).本质就是一个目录(必须 ...

  10. python怎么导入文本-Python 导入文件问题

    1.同级目录下调用 若在程序 testone.py 中导入模块 testtwo.py , 则直接使用 [import testtwo 或 from testtwo import *] 2.调用子目录下 ...

最新文章

  1. ISLR_StatisticalLearning
  2. PLSQL_解析过程及硬解析和软解析的区别(案例)
  3. 事务策略: 了解事务陷阱--转
  4. linux发邮件安装什么意思,linux – 如何找出安装/发送电子邮件的邮件程序?
  5. 用.NET 2.0压缩解压功能处理大型数据
  6. 想聊天?自己搭建个聊天机器人吧!
  7. android屏幕适配的五种方式_讲一讲Android 9.0系统的新特性,对刘海屏设备进行适配...
  8. python之获取微信服务器的ip地址
  9. 阿里云自研新一代企业云数据库POLARDB背后的技术
  10. 矩形键盘 linux,基于ARM的矩阵键盘设计及其linux驱动实现
  11. 计算机一级在线解析,2016年计算机一级试题及答案解析
  12. Uniswap 24小时交易量9.7亿美元,占以太坊上Dex总量的54%
  13. java连接mysql-8.0.11且成功读写
  14. 拓端tecdat|Matlab通过市场数据校准Hull-White利率模型参数
  15. uniapp 解决切换横竖屏后内容错乱的问题
  16. 15本职场必读书,得挑几本看看!
  17. 实时语音场景下的智能对话
  18. 探索式测试之隐喻(种植)
  19. python如何定义矩阵_基础 | Python下的矩阵定义 (下)
  20. 鸿蒙和宙斯谁厉害,对抗达克赛德第一次入侵的旧神联盟去哪了

热门文章

  1. 显卡测试软件3d mark,显卡评测工具3DMark跑分结果变了:可以直接PK同等配置
  2. 机器人 知乎碧桂园_从房地产大亨到跨界造“机器人”,碧桂园葫芦里卖着什么药?...
  3. 千兆网卡为什么慢_千兆宽带普及率不到1% 消费者为何不愿意用千兆宽带?
  4. python3 socketserver_python3 socketserver
  5. ironbot智能编程机器人_视频 | 多模式编程机器人,“程序猿”培养从小抓起
  6. 梯度下降法——得到的结果可能是局部最优值,如果凸函数则可保证梯度下降得到的是全局最优值...
  7. Python中使用Flask、MongoDB搭建简易图片服务器
  8. numpy insert
  9. MySql -- 数据结构
  10. JframeMaxSize