<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      圖像搜索,1000張圖片中搜索出最匹配的10張圖,正確率85%以上

      上代碼.

      拍照注意事項(xiàng):

      1. 照片不要拍糊了,要清晰

      2. 背景顏色需要統(tǒng)一一點(diǎn),我用的是A4紙上拍的

      3. 照片除了要識(shí)別的物體不要出現(xiàn)其他東西

      4. 同一個(gè)物品拍多張照片采樣(如:前后左右中上-通過移動(dòng)A4紙來拍)

      5. 光線不能太暗了,太暗了細(xì)節(jié)特征提取不出來,導(dǎo)致識(shí)別率下降

        1 import tensorflow as tf
        2 import annoy
        3 import numpy as np
        4 import os
        5 from PIL import Image
        6 import matplotlib.pyplot as plt
        7 import matplotlib.image as mpimg
        8 
        9 class ImageSimilaritySearch:
       10     def __init__(self, image_dir='./uploads/6266/', model_name='ResNet50', feature_dim=2048, num_trees=10, index_file='annoy_index.ann'):
       11         self.image_dir = image_dir
       12         self.model_name = model_name
       13         self.feature_dim = feature_dim
       14         self.num_trees = num_trees
       15         self.base_model = None
       16         self.index = None
       17         self.index_file = index_file
       18         self.image_files = None
       19 
       20         # 加載預(yù)訓(xùn)練的CNN模型
       21         self.load_base_model()
       22 
       23         # 設(shè)置或加載Annoy索引
       24         if os.path.exists(self.index_file):
       25             self.load_annoy_index()
       26         else:
       27             self.setup_annoy_index()
       28 
       29     def load_base_model(self):
       30         # 加載預(yù)訓(xùn)練的CNN模型
       31         self.base_model = tf.keras.applications.__getattribute__(self.model_name)(
       32             weights='imagenet', include_top=False, pooling='avg')
       33     
       34     def setup_annoy_index(self):
       35         # 設(shè)置Annoy索引
       36         self.index = annoy.AnnoyIndex(self.feature_dim, 'euclidean')
       37         self.image_files = self.get_image_paths(self.image_dir)
       38 
       39         for i, image_file in enumerate(self.image_files):
       40             image_path = image_file
       41             features = self.extract_features(image_path)
       42             self.index.add_item(i, features)
       43         self.index.build(self.num_trees)
       44         # 保存Annoy索引到文件
       45         self.index.save(self.index_file)
       46 
       47     def load_annoy_index(self):
       48         # 從文件加載Annoy索引
       49         self.index = annoy.AnnoyIndex(self.feature_dim, 'euclidean')
       50         self.index.load(self.index_file)
       51         self.image_files = self.get_image_paths(self.image_dir)
       52 
       53     def update_annoy_index_with_images(self, new_image_paths):
       54         # 更新Annoy索引,添加新圖片
       55         for i, image_path in enumerate(new_image_paths):
       56             features = self.extract_features(image_path)
       57             self.index.add_item(len(self.image_files) + i, features)
       58 
       59         # 重新構(gòu)建Annoy索引
       60         self.index.build(self.num_trees)
       61 
       62     def get_image_paths(self, image_dir):
       63         # 獲取文件夾下所有圖片路徑
       64         image_paths = []
       65         for root, dirs, files in os.walk(image_dir):
       66             for file in files:
       67                 if file.endswith('.jpg') or file.endswith('.jpeg') or file.endswith('.png'):
       68                     image_path = os.path.join(root, file)
       69                     image_paths.append(image_path)
       70         return image_paths
       71 
       72     def extract_features(self, image_path):
       73         # 加載圖像,并使用模型提取特征向量
       74         img = tf.keras.preprocessing.image.load_img(image_path, target_size=(224, 224))
       75         img_array = tf.keras.preprocessing.image.img_to_array(img)
       76         img_array = tf.keras.applications.resnet50.preprocess_input(img_array)
       77         img_array = np.expand_dims(img_array, axis=0)
       78         features = self.base_model.predict(img_array)
       79         return features.flatten()
       80 
       81     def search_similar_images(self, query_image_path, top_k=5):
       82         # 搜索相似圖像
       83         query_features = self.extract_features(query_image_path)
       84         similar_indices = self.index.get_nns_by_vector(query_features, top_k)
       85         similar_images = [self.image_files[i] for i in similar_indices]
       86         return similar_images
       87 
       88     def show_similar_images(self, similar_images):
       89         # 顯示相似圖像
       90         num_images = len(similar_images)
       91         fig, axes = plt.subplots(1, num_images, figsize=(15, 5))
       92 
       93         for i, image_path in enumerate(similar_images):
       94             ax = axes[i] if num_images > 1 else axes
       95             img = mpimg.imread(image_path)
       96             ax.imshow(img)
       97             ax.axis('off')
       98 
       99         plt.show()
      100 
      101 if __name__ == "__main__":
      102     # 創(chuàng)建ImageSimilaritySearch對(duì)象
      103     similarity_search = ImageSimilaritySearch()
      104 
      105     # 示例用法
      106     query_image_path = './uploads/6266/Bracelet/SL101-HseK-101/1711003989672129.jpg'
      107     similar_images = similarity_search.search_similar_images(query_image_path)
      108     print("Similar images:", similar_images)
      109 
      110     # 顯示相似圖像
      111     # similarity_search.show_similar_images(similar_images)

       

      posted @ 2024-04-01 15:11  看一百次夜空里的深藍(lán)  閱讀(171)  評(píng)論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 午夜欧美精品久久久久久久| 日本黄页网站免费观看| 日韩精品一区二区三区四| 中文字字幕在线中文乱码| 国产精品视频中文字幕| 三上悠亚精品二区在线观看| аⅴ天堂中文在线网| 被拉到野外强要好爽| 少妇熟女久久综合网色欲| 成人国产av精品免费网| 国产精品久久久国产盗摄| 福利一区二区不卡国产| 久久精品国产精品亚洲艾| 自拍视频在线观看成人| 亚洲国产精品久久久天堂麻豆宅男| 深夜免费av在线观看| 亚洲色偷拍区另类无码专区| 一区二区在线观看 激情| 真人性囗交视频| 乐平市| 国产成人黄色自拍小视频| 亚洲午夜香蕉久久精品| 亚洲高潮喷水无码AV电影| 日韩精品一区二区蜜臀av| 午夜不卡久久精品无码免费| 亚洲一区二区美女av| 久久精品a亚洲国产v高清不卡| 国产精品亚洲二区在线播放| 博罗县| 亚洲人成电影网站色| 秦安县| 日韩成人性视频在线观看| 久热综合在线亚洲精品| 亚洲av成人在线一区| 久播影院无码中文字幕| 国产目拍亚洲精品二区| 久久婷婷大香萑太香蕉av人| 亚洲婷婷综合色高清在线| 色猫咪av在线观看| 强插少妇视频一区二区三区| 亚洲成人动漫在线|