日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

课5 视频分镜的处理

發(fā)布時間:2023/12/20 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 课5 视频分镜的处理 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、對視頻進行處理,分解成一幀一幀的圖片保存到一個新建的文件夾:

import os import cv2 import subprocessv_path='lulu.mp4' image_save='./pic00' #新建創(chuàng)建一個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位的整數(shù),也就是這張圖片的指紋。
?

基于均值哈希分析,進行圖片的篩選

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、根據(jù)圖片分別生成各自的直方圖數(shù)據(jù)

2、使用巴氏系數(shù)算法對數(shù)據(jù)進行分析,計算得到相似度

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 视频分镜的处理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。