1.哈希算法
总体程序和之前在jupyternotebook上的差不多,但是需要做部分改动。
from flask import Flask, render_template
import cv2
import os
app = Flask(__name__)
def aHash(img):
img = cv2.resize(img, (8, 8))
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
s = 0
hash_str = ''
for i in range(8):
for j in range(8):
s = s + gray[i, j]
avg = s / 64
for 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_str
def cmpHash(hash1, hash2):
n = 0
print(hash1)
print(hash2)
if len(hash1) != len(hash2):
return -1
for i in range(len(hash1)):
if hash1[i] != hash2[i]:
n = n + 1
sim = 1-n/64
return sim
#img1 = cv2.imread('./pic/image0.jpg')
#img2 = cv2.imread('./pic/image1.jpg')
#hash1 = aHash(img1)
#hash2 = aHash(img2)
#n = cmpHash(hash1, hash2)
#print('均值哈希算法相似度:', n)
def genFrame():
v_path = 'static/video.mp4'
image_save = 'static/Hash2021'
if not(os.path.exists(image_save)):
os.mkdir(image_save)
cap = cv2.VideoCapture(v_path)
fc = cap.get(cv2.CAP_PROP_FRAME_