婷婷综合国产,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
    国产精品正在播放| 91国在线观看| 色婷婷av一区二区三区大白胸 | 国产一区视频网站| 色婷婷激情久久| 国产亚洲综合av| 婷婷国产在线综合| 不卡视频一二三| 日韩一区二区免费视频| 国产精品色一区二区三区| 日本欧美一区二区| 在线视频你懂得一区| 欧美激情一区二区| 蜜臀va亚洲va欧美va天堂| 91国偷自产一区二区三区成为亚洲经典 | 一区二区三区 在线观看视频| 国产精选一区二区三区| 51精品视频一区二区三区| 亚洲精品视频在线| 成人av在线资源网| 国产欧美精品一区二区色综合朱莉 | 亚洲视频在线一区| 国产一区欧美日韩| 日韩视频在线一区二区| 亚洲一区免费在线观看| 91蜜桃在线免费视频| 久久久噜噜噜久久人人看| 奇米888四色在线精品| 欧美麻豆精品久久久久久| 亚洲精品国产成人久久av盗摄| 99综合电影在线视频| 中文字幕不卡三区| 国产成人综合网站| 国产视频一区二区三区在线观看| 国内精品久久久久影院薰衣草| 日韩欧美国产一区二区三区| 免费日本视频一区| 欧美一区二区三区四区视频| 图片区小说区国产精品视频| 欧美乱熟臀69xxxxxx| 美女视频一区二区三区| 日韩欧美一级精品久久| 久久99精品久久久久婷婷| 精品美女被调教视频大全网站| 极品美女销魂一区二区三区免费| 日韩免费视频一区| 国产传媒一区在线| 中文字幕一区二区三区在线观看 | 日韩中文字幕av电影| 欧美电影免费观看高清完整版在| 精久久久久久久久久久| 国产日韩一级二级三级| 色国产综合视频| 日韩中文字幕麻豆| 国产日产欧美一区| 在线观看亚洲成人| 蜜臀久久99精品久久久久宅男| 久久久久久一二三区| 91免费视频网| 奇米777欧美一区二区| 国产日韩欧美综合一区| 99久久免费精品| 午夜日韩在线观看| www国产成人| 色综合天天综合网国产成人综合天| 一区二区三区不卡在线观看| 日韩免费成人网| 色综合欧美在线视频区| 蓝色福利精品导航| 中文字幕制服丝袜一区二区三区 | 全部av―极品视觉盛宴亚洲| 国产婷婷精品av在线| 在线观看不卡视频| 国产一区二区三区| 香港成人在线视频| 久久免费电影网| 欧美做爰猛烈大尺度电影无法无天| 激情五月婷婷综合| 亚洲一区二区三区激情| 亚洲精品一区二区三区精华液| 色婷婷久久99综合精品jk白丝| 国产在线一区观看| 亚洲成在线观看| 国产精品久久久久久久久图文区 | 日韩高清不卡在线| 亚洲欧美视频在线观看视频| 欧美一区二区三级| 在线观看欧美黄色| av亚洲精华国产精华精华| 精品亚洲欧美一区| 奇米777欧美一区二区| 亚洲国产欧美另类丝袜| 国产精品的网站| 国产精品视频麻豆| 久久久天堂av| 精品欧美一区二区久久| 欧美少妇一区二区| 色哟哟在线观看一区二区三区| 国产精品一区二区你懂的| 蜜臀99久久精品久久久久久软件| 一卡二卡欧美日韩| 亚洲精品中文字幕在线观看| 国产精品美女久久久久久久久| 久久午夜羞羞影院免费观看| 欧美变态tickling挠脚心| 欧美高清一级片在线| 欧美另类z0zxhd电影| 日本丰满少妇一区二区三区| 91视频免费观看| 91丨porny丨最新| 99精品视频在线播放观看| 成人午夜激情影院| 国产成人在线视频播放| 国产精品一级片在线观看| 国产精品综合在线视频| 国产一区二区三区在线看麻豆| 国内精品写真在线观看| 国产成人综合精品三级| 国产iv一区二区三区| 国产成人免费在线观看不卡| 国产成人av福利| 波多野结衣亚洲一区| 色婷婷综合激情| 欧美二区在线观看| 日韩手机在线导航| 久久精品欧美日韩精品| 国产丝袜欧美中文另类| 亚洲人成网站影音先锋播放| 亚洲一区二区中文在线| 蜜臀久久久99精品久久久久久| 精品亚洲国内自在自线福利| 国产精品一区免费视频| 成人av影院在线| 欧美日韩视频在线第一区 | 亚洲曰韩产成在线| 日韩av午夜在线观看| 狠狠色狠狠色综合系列| 成人理论电影网| 欧美日韩国产小视频在线观看| 欧美高清激情brazzers| 国产欧美日韩综合| 亚洲二区在线观看| 韩国女主播一区| 91视频精品在这里| 欧美一区二区成人6969| 国产精品久久午夜| 日日摸夜夜添夜夜添亚洲女人| 国产一区二区三区免费观看| 99v久久综合狠狠综合久久| 国产欧美1区2区3区| 亚洲一区二区三区国产| 国产精品18久久久久| 91国偷自产一区二区使用方法| 欧美精品一区二区久久婷婷| 99久久国产综合精品麻豆| 91丝袜高跟美女视频| 在线观看av不卡| 3d动漫精品啪啪1区2区免费| 国产偷国产偷亚洲高清人白洁| 亚洲综合成人在线| 国产成人免费在线视频| 欧美日韩国产成人在线91 | 精品免费视频.| 亚洲欧美日韩国产成人精品影院| 全国精品久久少妇| 色欧美片视频在线观看| 久久奇米777| 日本欧美加勒比视频| 欧美亚洲愉拍一区二区| 国产精品美女久久福利网站| 日韩av在线发布| 欧美性猛交xxxxxx富婆| 国产精品乱人伦| 国产精品正在播放| 精品久久久久香蕉网| 日韩和欧美一区二区| 欧美三区免费完整视频在线观看| 亚洲欧洲精品一区二区精品久久久 | 制服丝袜中文字幕一区| 综合婷婷亚洲小说| 欧美人伦禁忌dvd放荡欲情| 国产精品视频yy9299一区| 国产乱子伦视频一区二区三区 | 国产精品色在线观看| 国产综合久久久久久鬼色| 欧美一区二区三区免费视频| 亚洲一区二区影院| 91成人在线免费观看| 国产精品久久久久9999吃药| 国产福利91精品一区| 精品国产伦一区二区三区观看体验| 视频一区视频二区中文字幕| 在线精品视频一区二区三四| 一区二区在线看| 91麻豆文化传媒在线观看| 国产精品国产三级国产普通话99 | 一本久久a久久免费精品不卡| 国产亚洲制服色| 粗大黑人巨茎大战欧美成人| 国产欧美视频一区二区三区|