1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
|
package indexation;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;
import oracle.jdbc.OracleResultSet;
import oracle.ord.im.OrdImage;
import oracle.ord.im.OrdImageSignature;
/**
*
* @author Administrateur
*/
public class Chercher {
int id_img;
OrdImageSignature signature1;
float score;
float min=100;
int id=0;
public Chercher()
{
try {
// Etape 1 : Création de la connexion avec la base
// Enregistrement du pilote Oracle
DriverManager.registerDriver(new oracle.jdbc.OracleDriver());
Connection con =DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","system","anouar");
con.setAutoCommit(false);
System.out.println("bla");
// Etape 2 : Récupération du descripteur
// Création d'une instance de l'objet Statement
Statement ss = con.createStatement();
CallableStatement st = null;
ss = con.createStatement();
ResultSet rs = ss.executeQuery("select count(*) as myVar from images");
rs.next();
String nn=rs.getString("myVar");
id_img=Integer.parseInt(nn);
String ii = String.valueOf(id_img);
rs.close();
OrdImageSignature imgSig = null;
ResultSet rset2 = ss.executeQuery("select * from images where id="+ii);
// S'il y a un résultat
if(rset2.next()) {
// Récupération du descripteur
imgSig = (OrdImageSignature) rset2.getORAData(3, OrdImageSignature.getORADataFactory());
}
rset2.close();
ResultSet rset3 = ss.executeQuery("select * from images where id<"+ii);
while(rset3.next()){
signature1 = (OrdImageSignature) rset3.getORAData(3,
OrdImageSignature.getORADataFactory());
// s'il y a un 2ieme résultat
// Récupération du descripteur de l'OrdImageSignature de l'image 2
// Ecriture de la commande définissant les coef. des critères de // comparaisons
String commande = "color=1 texture=0 shape=0 location=0";
score = OrdImageSignature.evaluateScore(signature1, imgSig,commande);
if (min>score){
min=score;
id=rset3.getInt(1);
}
}
rset3.close();
//fermeture de la connexion
con.close();
} catch (SQLException ex) {
Logger.getLogger(Chercher.class.getName()).log(Level.SEVERE, null, ex);
}
}
} |
Partager