欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

python相同圖片檢索

陳怡靜1年前7瀏覽0評論

Python是一種高級編程語言,它簡單易學(xué)、可擴(kuò)展且具有強(qiáng)大的功能。在圖像處理方面,Python也有著出色的表現(xiàn)。今天我們將介紹Python如何實現(xiàn)相同圖片檢索。

import cv2
import numpy as np
import hashlib
import os
# 使用哈希算法計算圖像指紋
def compute_hash(image):
# 將圖片轉(zhuǎn)換為8x8大小的灰度圖片
gray_image = cv2.resize(image, (8, 8))
# 將灰度像素轉(zhuǎn)換為0或1,得到圖像的唯一指紋
pixels = np.array(gray_image).flatten()
avg_pixel = pixels.mean()
bits = "".join(map(lambda pixel: "1" if pixel >avg_pixel else "0", pixels))
return int(bits, 2)
# 對給定路徑下的所有圖片進(jìn)行指紋計算
def hash_all_images(path):
hashes = {}
for filename in os.listdir(path):
# 僅處理jpg和png格式的圖片
if not filename.endswith(".jpg") and not filename.endswith(".png"):
continue
# 加載圖片文件并計算指紋
image_path = os.path.join(path, filename)
image = cv2.imread(image_path)
image_hash = compute_hash(image)
# 保存指紋和圖片路徑
if image_hash in hashes:
hashes[image_hash].append(image_path)
else:
hashes[image_hash] = [image_path]
return hashes
# 使用哈希算法檢索相同的圖片
def find_duplicate_images(path):
# 計算所有圖片的指紋
hashes = hash_all_images(path)
# 查找重復(fù)的指紋
duplicates = []
for image_hash, image_paths in hashes.items():
if len(image_paths) >1:
duplicates.append(image_paths)
return duplicates
# 檢索給定路徑下的相同圖片并輸出
duplicates = find_duplicate_images("/path/to/images")
for duplicate in duplicates:
print("相同的圖片:", duplicate)

使用Python實現(xiàn)相同圖片檢索是一件相對簡單的事情。本文所介紹的哈希算法可以幫助我們快速計算出圖片的指紋,并通過比較這些指紋來找出相同的圖片。這種方法不僅可以用于相同圖片檢索,還可以用于圖片去重、相似圖片搜索等領(lǐng)域。