婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Python圖片檢索之以圖搜圖

Python圖片檢索之以圖搜圖

熱門標簽:手機網頁嵌入地圖標注位置 開封自動外呼系統怎么收費 開封語音外呼系統代理商 應電話機器人打電話違法嗎 天津電話機器人公司 400電話辦理哪種 電銷機器人的風險 河北防封卡電銷卡 地圖標注線上如何操作

一、待搜索圖

二、測試集

三、new_similarity_compare.py

# -*- encoding=utf-8 -*-

from image_similarity_function import *
import os
import shutil

# 融合相似度閾值
threshold1 = 0.70
# 最終相似度較高判斷閾值
threshold2 = 0.95


# 融合函數計算圖片相似度
def calc_image_similarity(img1_path, img2_path):
    """
    :param img1_path: filepath+filename
    :param img2_path: filepath+filename
    :return: 圖片最終相似度
    """

    similary_ORB = float(ORB_img_similarity(img1_path, img2_path))
    similary_phash = float(phash_img_similarity(img1_path, img2_path))
    similary_hist = float(calc_similar_by_path(img1_path, img2_path))
    # 如果三種算法的相似度最大的那個大于0.7,則相似度取最大,否則,取最小。
    max_three_similarity = max(similary_ORB, similary_phash, similary_hist)
    min_three_similarity = min(similary_ORB, similary_phash, similary_hist)
    if max_three_similarity > threshold1:
        result = max_three_similarity
    else:
        result = min_three_similarity

    return round(result, 3)


if __name__ == '__main__':

    # 搜索文件夾
    filepath = r'D:\Dataset\cityscapes\leftImg8bit\val\frankfurt'

    #待查找文件夾
    searchpath = r'C:\Users\Administrator\Desktop\cityscapes_paper'

    # 相似圖片存放路徑
    newfilepath = r'C:\Users\Administrator\Desktop\result'

    for parent, dirnames, filenames in os.walk(searchpath):
        for srcfilename in filenames:
            img1_path = searchpath +"\\"+ srcfilename
            for parent, dirnames, filenames in os.walk(filepath):
                for i, filename in enumerate(filenames):
                    print("{}/{}: {} , {} ".format(i+1, len(filenames), srcfilename,filename))
                    img2_path = filepath + "\\" + filename
                    # 比較
                    kk = calc_image_similarity(img1_path, img2_path)
                    try:
                        if kk >= threshold2:
                            # 將兩張照片同時拷貝到指定目錄
                            shutil.copy(img2_path, os.path.join(newfilepath, srcfilename[:-4] + "_" + filename))
                    except Exception as e:
                        # print(e)
                        pass

四、image_similarity_function.py

# -*- encoding=utf-8 -*-

# 導入包
import cv2
from functools import reduce
from PIL import Image


# 計算兩個圖片相似度函數ORB算法
def ORB_img_similarity(img1_path, img2_path):
    """
    :param img1_path: 圖片1路徑
    :param img2_path: 圖片2路徑
    :return: 圖片相似度
    """
    try:
        # 讀取圖片
        img1 = cv2.imread(img1_path, cv2.IMREAD_GRAYSCALE)
        img2 = cv2.imread(img2_path, cv2.IMREAD_GRAYSCALE)

        # 初始化ORB檢測器
        orb = cv2.ORB_create()
        kp1, des1 = orb.detectAndCompute(img1, None)
        kp2, des2 = orb.detectAndCompute(img2, None)

        # 提取并計算特征點
        bf = cv2.BFMatcher(cv2.NORM_HAMMING)
        # knn篩選結果
        matches = bf.knnMatch(des1, trainDescriptors=des2, k=2)

        # 查看最大匹配點數目
        good = [m for (m, n) in matches if m.distance  0.75 * n.distance]
        similary = len(good) / len(matches)
        return similary

    except:
        return '0'


# 計算圖片的局部哈希值--pHash
def phash(img):
    """
    :param img: 圖片
    :return: 返回圖片的局部hash值
    """
    img = img.resize((8, 8), Image.ANTIALIAS).convert('L')
    avg = reduce(lambda x, y: x + y, img.getdata()) / 64.
    hash_value = reduce(lambda x, y: x | (y[1]  y[0]), enumerate(map(lambda i: 0 if i  avg else 1, img.getdata())),
                        0)
    return hash_value


# 計算兩個圖片相似度函數局部敏感哈希算法
def phash_img_similarity(img1_path, img2_path):
    """
    :param img1_path: 圖片1路徑
    :param img2_path: 圖片2路徑
    :return: 圖片相似度
    """
    # 讀取圖片
    img1 = Image.open(img1_path)
    img2 = Image.open(img2_path)

    # 計算漢明距離
    distance = bin(phash(img1) ^ phash(img2)).count('1')
    similary = 1 - distance / max(len(bin(phash(img1))), len(bin(phash(img1))))
    return similary


# 直方圖計算圖片相似度算法
def make_regalur_image(img, size=(256, 256)):
    """我們有必要把所有的圖片都統一到特別的規格,在這里我選擇是的256x256的分辨率。"""
    return img.resize(size).convert('RGB')


def hist_similar(lh, rh):
    assert len(lh) == len(rh)
    return sum(1 - (0 if l == r else float(abs(l - r)) / max(l, r)) for l, r in zip(lh, rh)) / len(lh)


def calc_similar(li, ri):
    return sum(hist_similar(l.histogram(), r.histogram()) for l, r in zip(split_image(li), split_image(ri))) / 16.0


def calc_similar_by_path(lf, rf):
    li, ri = make_regalur_image(Image.open(lf)), make_regalur_image(Image.open(rf))
    return calc_similar(li, ri)


def split_image(img, part_size=(64, 64)):
    w, h = img.size
    pw, ph = part_size
    assert w % pw == h % ph == 0
    return [img.crop((i, j, i + pw, j + ph)).copy() for i in range(0, w, pw) \

            for j in range(0, h, ph)]

五、結果

到此這篇關于Python圖片檢索之以圖搜圖的文章就介紹到這了,更多相關Python以圖搜圖內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Python圖像處理之圖片拼接和堆疊案例教程
  • python圖片灰度化處理的幾種方法
  • Python圖像處理之圖像拼接
  • python圖片合成的示例
  • Python圖片處理之圖片裁剪教程
  • 昨晚我用python幫隔壁小姐姐P證件照然后發現

標簽:江蘇 山東 蘭州 六盤水 成都 常州 駐馬店 宿遷

巨人網絡通訊聲明:本文標題《Python圖片檢索之以圖搜圖》,本文關鍵詞  Python,圖片,檢索,之,以圖,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Python圖片檢索之以圖搜圖》相關的同類信息!
  • 本頁收集關于Python圖片檢索之以圖搜圖的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    www.亚洲色图| 99久久精品免费看国产免费软件| youjizz国产精品| 1024成人网色www| 欧美在线观看视频在线| 日韩中文字幕一区二区三区| 欧美一区二区成人6969| 国产精品香蕉一区二区三区| 亚洲婷婷综合色高清在线| 欧美日韩一区久久| 久草这里只有精品视频| 欧美韩日一区二区三区四区| 色婷婷综合久色| 青青草91视频| 国产丝袜美腿一区二区三区| 在线精品亚洲一区二区不卡| 另类中文字幕网| 国产精品久久久久久久久动漫| 欧美专区日韩专区| 久久精品国产亚洲高清剧情介绍| 国产女人18水真多18精品一级做| 色婷婷精品久久二区二区蜜臂av| 美日韩一区二区| 18欧美亚洲精品| 日韩一级二级三级| 91片在线免费观看| 经典三级视频一区| 一区二区三区高清| 久久嫩草精品久久久精品| 色婷婷精品大视频在线蜜桃视频| 免费成人小视频| 亚洲日本在线观看| 2021久久国产精品不只是精品| 欧洲av在线精品| 国产成人一区二区精品非洲| 日韩国产欧美在线播放| 日韩美女视频一区| 久久久久久久久蜜桃| 在线播放中文一区| 色诱亚洲精品久久久久久| 国产在线精品一区在线观看麻豆| 亚洲一区二区五区| 国产精品视频麻豆| 精品国产三级电影在线观看| 91国偷自产一区二区三区成为亚洲经典| 久久精品99国产国产精| 亚洲一区二区欧美| 亚洲欧美成aⅴ人在线观看| 日韩免费在线观看| 欧美三区在线观看| 99国产精品一区| 国产精品影视网| 久久精品国产成人一区二区三区| 午夜精品久久久久久不卡8050| 亚洲日本在线视频观看| 国产精品网曝门| 久久久久国产精品麻豆| 欧美v日韩v国产v| 欧美一区二区三区四区视频| 欧美日韩美少妇| 欧美午夜精品一区二区三区| 色悠久久久久综合欧美99| 成人午夜免费av| 风流少妇一区二区| 国产91精品一区二区| 国产美女精品人人做人人爽| 国产一区二区三区蝌蚪| 国产一区二区视频在线播放| 国模大尺度一区二区三区| 美日韩黄色大片| 美国三级日本三级久久99| 日本成人在线一区| 麻豆精品一区二区av白丝在线| 日韩福利电影在线观看| 五月天视频一区| 三级欧美在线一区| 免费一级片91| 国产资源在线一区| 国产精品1024久久| 成人一级视频在线观看| 不卡一卡二卡三乱码免费网站| 国产不卡一区视频| 成人一级黄色片| 99精品欧美一区二区三区小说| 99精品在线观看视频| 91蝌蚪porny| 精品视频1区2区3区| 91精品国产福利在线观看| 777xxx欧美| 欧美不卡一区二区三区四区| 久久久一区二区三区捆绑**| 国产欧美日韩另类视频免费观看| 17c精品麻豆一区二区免费| 亚洲最大成人网4388xx| 午夜精品久久久久久久久久| 久久99国产精品久久99| 国产精品夜夜嗨| 91一区一区三区| 欧美日韩国产精选| 精品福利一区二区三区免费视频| 国产天堂亚洲国产碰碰| 亚洲男帅同性gay1069| 日韩综合小视频| 国产乱码精品1区2区3区| av成人动漫在线观看| 欧美日韩免费观看一区三区| 欧美成人性战久久| 国产精品国产三级国产普通话蜜臀 | ●精品国产综合乱码久久久久 | 欧美视频在线观看一区| 3d成人h动漫网站入口| 久久精子c满五个校花| 夜夜嗨av一区二区三区| 狠狠狠色丁香婷婷综合激情 | 国产精品99久久久久久有的能看 | 国产成人精品免费看| 色久优优欧美色久优优| 精品裸体舞一区二区三区| 亚洲视频一区在线观看| 美女网站视频久久| 色综合久久综合网97色综合| 欧美不卡一区二区三区四区| 亚洲乱码国产乱码精品精可以看 | 石原莉奈在线亚洲三区| 国产成人免费在线观看不卡| 欧美色视频一区| 中文字幕一区二区5566日韩| 六月婷婷色综合| 欧美日韩一区二区三区在线看 | 国产视频一区在线观看| 91伊人久久大香线蕉| 欧美理论电影在线| 国产精品乱码人人做人人爱| 亚洲精品少妇30p| 国产精品综合网| 日韩一卡二卡三卡| 亚洲激情自拍偷拍| 成人免费不卡视频| 国产精品久久久久影院| 精品一区二区在线视频| 国产日韩欧美综合一区| 久久精品一区二区三区四区| 国产精品国产三级国产a | 91视频.com| www日韩大片| 日本在线不卡视频一二三区| 在线一区二区三区四区五区| 国产精品久久三| 国产精品一二二区| 精品久久久久久久人人人人传媒 | 制服丝袜国产精品| 亚洲免费大片在线观看| 成人午夜视频免费看| 亚洲精品在线一区二区| 免费观看30秒视频久久| 欧美三级韩国三级日本三斤| 亚洲欧美成aⅴ人在线观看| 99久久精品一区二区| 国产精品久久久久久久久免费丝袜| 国产精品18久久久久久久久 | 成人国产精品免费观看| 国产亚洲一二三区| 国产美女主播视频一区| 精品国产91亚洲一区二区三区婷婷| 日日摸夜夜添夜夜添精品视频| 欧美午夜寂寞影院| 亚洲自拍欧美精品| 欧美性猛交xxxx黑人交| 亚洲在线观看免费视频| 在线观看www91| 一区二区三区波多野结衣在线观看| 99国产精品久久久久久久久久久| 国产精品久久久久婷婷二区次| 成人网男人的天堂| 国产精品美女久久久久av爽李琼 | 国产毛片精品一区| 久久色在线视频| 国产成人在线观看免费网站| 中文字幕av一区 二区| a4yy欧美一区二区三区| 亚洲美女免费在线| 欧美日韩一区中文字幕| 热久久国产精品| 久久久不卡影院| av影院午夜一区| 亚洲综合在线免费观看| 欧美日韩久久一区二区| 久久成人免费日本黄色| 久久人人爽爽爽人久久久| 丁香网亚洲国际| 亚洲欧美日韩国产一区二区三区| 欧美色区777第一页| 久久99精品久久久久久| 国产日韩欧美a| 91香蕉视频mp4| 日韩国产在线一| 国产日韩精品视频一区| 色婷婷久久久久swag精品| 无码av免费一区二区三区试看 | 亚洲精品高清在线观看|