检测视频有没有被剪辑
原来选题叫队友坑了
新的题目好像非常简单!
主要是检测帧之间的画面变化 用了dHash算法
import cv2
import numpy as np
from PIL import Imageprint("input the video name")
FILE_NAME=input()
TO_WRITE="pic.jpg"
CHECK_FLAG = 0
FAIL_POS = 0.77
vidget=cv2.VideoCapture(FILE_NAME)writename = 0
def dHash(image):hash = []for i in range(8):for j in range(8):if image[i,j]>image[i,j+1]:hash.append(1)else:hash.append(0)return hashdef ham_distance(hash1,hash0):num = 0for i in range(len(hash1)):if hash1[i] != hash0[i]:num += 1return numif __name__ == "__main__":while True:#截取success, pic = vidget.read()if not success:breakfilename=str(writename)+TO_WRITEwritename ^= 1millisecond=vidget.get(cv2.CAP_PROP_POS_MSEC)second = millisecond // 1000minute = second // 60minute = int(minute)second = int(second)second %= 60cv2.imwrite(filename,pic)#比较 dHash algorithm'''将图片缩小为9*8大小灰度化处理计算差异值,获得最后哈希值(与aHash主要区别处)。比较每行左右两个像素,如果左边的像素比右边的更亮(左边像素值大于右边像素值),则记录为1,否则为0。因为每行有9个像素,左右两个依次比较可得出8个值,所以8行像素共可以得出64个值,因此此时哈希值为长度是64的0-1序列。计算汉明距离。'''image0 = Image.open('0pic.jpg')image1 = Image.open('1pic.jpg')image1 = np.array(image1.resize((9,8),Image.ANTIALIAS).convert('L'),'f')image0 = np.array(image0.resize((9, 8), Image.ANTIALIAS).convert('L'), 'f')hash0=dHash(image0)hash1=dHash(image1)distance=ham_distance(hash1,hash0)similarity=1.0 - distance/64.0if similarity < FAIL_POS:print(minute,' minute',second,' second detected with similarity',similarity)CHECK_FLAG = 1if CHECK_FLAG == 0:print("no edit detected")
过几天有时间的话也许会调调FAIL_POS的数据…除非故意给跳跃的视频录屏,效果还是可以的
检测视频有没有被剪辑相关推荐
- 边缘设备上的实时AI人员检测:检测视频中的人员
下载数据-19.3 MB 下载模型-43.5 MB 下载结果-36.66 MB 从本系列的前几篇文章中,我们获得了使用SSD DNN模型检测图像中人物的Python代码.而且我们已经展示了该代码可以在 ...
- 基于OpenCV的视频人物查找及剪辑*
基于OpenCV的视频人物查找及剪辑 摘要:本项目是基于OpenCV的人脸识别技术,将一个完整的视频中自己想要了解的某个具体的人物片段,通过将视频分割成帧并且训练需要提取人物的面部特征,通过主成分分析 ...
- 怎么剪辑视频教程,剪辑视频的软件怎么剪辑视频制作原创视频
视频如何伪原创?一般这种搞法叫视频搬运,就是把别人的视频搞成自己的,说得有点粗糙,但实际也是这样哈哈. 不过现在网络对版权的越来越重视,我们不建议直接搬运他人的视频,这样很大可能会被检测而被降权或下架 ...
- 视频创作教程-蜜蜂剪辑软件
视频创作教程-蜜蜂剪辑软件 作者介绍 一.视频剪辑软件 二.蜜蜂剪辑软件使用 1.视频比例选择 2.添加视频素材 3.视频分割 4.添加文字 5.转场滤镜 6.其它 三.创作实例 四.软件分享 作者介 ...
- 检测视频中的人脸,并画出矩形框
检测视频中的人脸,并画出矩形框,这是一个测试程序,由于很多人经常会用到,写下以备不时之需. #include"stdafx.h" #include <opencv2/core ...
- 编辑视频贴纸软件_微剪辑 - 视频编辑神器/专业剪辑软件 贴纸/字幕/音乐
微剪辑 - 视频编辑神器/专业剪辑软件 贴纸/字幕/音乐 介绍 微剪辑 - 视频编辑神器/专业剪辑软件 贴纸/字幕/音乐 微剪辑是最好的视频剪辑软件,操作简单,让您随心所欲成为自己生活的导演!一个视频 ...
- yolov3运行及保存检测视频(包括摄像头)
新代码:可用,如果不想在老代码上折腾更改,可以直接根据下面的新地址拉取代码. (注意看Readme) --------------------更新20180703----------------- ...
- JavaScript检测视频的编码格式是否为h264
JavaScript检测视频的编码格式是否为h264 更多前端信息可以关注博客:http://www.colbrus.com 之前在网 ...
- 使用opencv检测视频人脸
使用opencv检测视频中的人脸 在github上搜索opencv获取人脸特征文件. 点击进去后在data文件中找到haarcascades文件,里面都是已经训练好的关于人脸的特征. 下载需要的人脸特 ...
最新文章
- 向DataTable中添加自定义的行
- poj 2452(RMQ+二分)
- C++相关:动态内存和智能指针
- MongoDB sharding 集合不分片性能更高?
- 企业信息化投入中咨询服务_全过程工程咨询服务核心价值是什么
- 收藏 | 9 个技巧让你的 PyTorch 模型训练变得飞快!
- 计算机项目教学法探讨,项目教学法在计算机教学中应用计算机教学论文计算机论文...
- 联想智能农业移动应用开发系统用户手册
- 安装好vmware后界面默认英语如何修改成中文或者其他语言
- 〖Python〗-- Django基础
- 小米SN保修_一次真实但糟糕的小米笔记本售后
- 上项线体表位置_LPL退役选手总结最难打的四个位置:TES辅助RNG上单在列
- 三子棋游戏(支持多子棋)
- Python入门学习之个人税务计算练习(if)
- 浅谈渗透测试人员职业发展路线
- uva 10286 Trouble with a Pentagon
- Emoj cheat sheet
- H5 移动APP - 面包店
- oracle时间相减
- 几何不变矩 Hu 矩