课5 视频分镜的处理
生活随笔
收集整理的這篇文章主要介紹了
课5 视频分镜的处理
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、對視頻進行處理,分解成一幀一幀的圖片保存到一個新建的文件夾:
import os import cv2 import subprocessv_path='lulu.mp4' image_save='./pic00' #新建創建一個pic00文件夾cap=cv2.VideoCapture(v_path) frame_count=cap.get(cv2.CAP_PROP_FRAME_COUNT)for i in range(int(frame_count)):_, img=cap.read()#img=cv2.cvtColor(img,cv2.cv2.COLOR_BGR2GRAY)cv2.imwrite('./pic2/image{}.jpg'.format(i),img)二、對截取的畫面進行均值哈希分析:
具體步驟:
1、縮小尺寸,將圖片縮放為8*8的大小。
2、簡化色彩,把圖片轉為64級灰度圖。
3、計算平均值,計算灰度處理的圖片所有像素點的平均值。
4、比較像素灰度值,把所有像素的灰度與平均值比較,如果大于平均值記錄為1,否則為0。
5、得到哈希值,把比較結果組合得到的64位的整數,也就是這張圖片的指紋。
?
基于均值哈希分析,進行圖片的篩選
import cv2 import numpy as np import matplotlib.pyplot as plt import osdef aHash(img):plt.imshow(img)plt.axis('off')plt.show()img=cv2.resize(img,(8,8))plt.imshow(img)plt.axis('off')plt.show()gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)s=0hash_str=''for i in range(8):for j in range(8):s=s+gray[i,j]avg=s/64for i in range(8):for j in range(8):if gray[i,j]>avg:hash_str=hash_str+'1'else:hash_str=hash_str+'0'return hash_strdef cmpHash(hash1,hash2):n=0print(hash1)print(hash2)if len(hash1)!=len(hash2):return-1for i in range(len(hash1)):if hash1[i]!=hash2[i]:n=n+1return nimg1=cv2.imread('./pic00/image0.jpg') img2=cv2.imread('./pic00/image1.jpg')hash1=aHash(img1) hash2=aHash(img2) n=cmpHash(hash1,hash2) print('均值哈希算法相似度:',n)三、直方圖分析相似度
具體步驟:
1、根據圖片分別生成各自的直方圖數據
2、使用巴氏系數算法對數據進行分析,計算得到相似度
import cv2 import matplotlib.pyplot as plt def classify_hist_with_split(image1,image2,size=(256,256)):# 將圖像resize后,分離為RGB三個通道,再計算每個通道的相似值image1=cv2.resize(image1,size)image2=cv2.resize(image2,size)plt.imshow(image1)plt.show()plt.axis('off')plt.imshow(image2)plt.show()plt.axis('off')sub_image1=cv2.split(image1)sub_image2=cv2.split(image2)sub_data=0for im1,im2 in zip(sub_image1,sub_image2):sub_data+=calculate(im1,im2)sub_data=sub_data/3return sub_dataimage1=cv2.imread('./pic00/image0.jpg') image2=cv2.imread('./pic00/image1.jpg') n=classify_hist_with_split(image1,image2,size=(256,256)) print("每個通道直方圖平均相似度為:",n)總結
以上是生活随笔為你收集整理的课5 视频分镜的处理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 『Python学习笔记』ZipFile解
- 下一篇: 通信标准3之PUSCH频率域资源分配