Commit 1c1eee49 authored by Claire Lemoine's avatar Claire Lemoine
Browse files

algo qui trouve les semblables

parent 61f6c355
# -*- coding: utf-8 -*-
"""
Created on Fri Dec 4 08:16:25 2020
@author: capliera
"""
import numpy as np
import csv
# GABOR FEATURES DOWNLOADING
filename = 'dataset.csv'
file = open(filename,"r")
data = csv.reader(file, delimiter = ";")
data = np.array(list(data))
# Gabor Feature matrix
X_str = data[:, 0:27]
nb_samples, nb_features = np.shape(X_str)
print('(nb_samples, nb_features) = ', nb_samples, nb_features-3)
print('\n')
# Data conversion into numerical values
# X is the features matrix
X = np.zeros((len(X_str),nb_features), float)
for i in range(len(X_str)):
for j in range(nb_features):
X[i,j] = float(X_str[i,j])
# Recherche des distances minimum
def semblables(image, feature, nb_semblables):
"""
Fonction qui renvoie des numeros d'images semblables à l'image d'entrée sur
la base de certains filtres indiques
Entrees:
:image : entier : numero de l'image dont on cherche les semblables
:feature : entier : criteres de comparaison (compris entre 4 et 26)
:nb_semblables : entier : nombre d'images semblables recherchees
Sortie:
:S : vecteur des numeros entiers d'images semblables
"""
# Creation du vecteur qui contiendra les numeros d'images similaires
nb_semblables += 1
S = np.zeros(nb_semblables)
# Valeur du critère de référence
ref = X[image,feature]
# Trie de la colonne des features compares
C = X[X[:,feature-1].argsort()]
# Recherche de l'image la plus semblable
ind = 0;
while C[ind,feature-1]<X[image,feature-1]:
ind+=1
# Remplit le vecteur des images les plus semblables
for i in range(nb_semblables):
S[i] = int(C[i+ind,0])
return S
# Test
filepath = r'C://Users//Claire Lemoine//Documents//Claire//Cours//Traitement_d_images_de_base//Lab-1//input'
feature = 25
image = 1
nb_semblables = 5
resultat = semblables(image,feature,nb_semblables)
print(resultat)
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment