Extensions Image, Audio et Vidéo Administration et programmation

Extraction du score d'une image

Utilisez dans une instruction SQL l'une des quatre fonctions utilisateur fournies par l'extension Image pour extraire

le score d'une image cataloguée dans une colonne de table. Il s'agit d'une valeur en virgule flottante, double précision, allant de 0.0 à une valeur proche de l'infini. Plus cette valeur est faible, plus les valeurs des caractéristiques de l'image sont proches de celles spécifiées dans la requête. La valeur 0.0 indique que l'image correspond exactement.

Ces fonctions utilisateur (UDF) sont les suivantes :

Recommandation : Utilisez la fonction UDF QbScoreFromStr pour extraire le score d'une seule image cataloguée. Utilisez la fonction UDF QbScoreTBFromStr pour extraire le score de plusieurs images cataloguées dans une colonne de table.

Extraction du score d'une seule image

Utilisez la fonction UDF QbScoreFromStr pour extraire le score d'une seule image cataloguée dans une colonne de table. Indiquez une chaîne de requête comme données d'entrée pour la fonction UDF QbScoreFromStr. Si vous utilisez la fonction UDF QbScoreFromName, indiquez le nom d'un objet de requête comme données d'entrée pour la fonction UDF QbScoreFromName. Pour toutes deux, vous devez également spécifier la colonne de table contenant l'image cible.

Dans la requête suivante, la fonction UDF QbScoreFromStr permet d'extraire les images cataloguées contenues dans une colonne de table et dont le score pour la couleur moyenne est très proche du rouge.

SELECT name, description
decimal (QbScoreFromStr(swatch_img,
            'QbColorFeatureClass color=<255, 0, 0>'),   /* chaîne de requête */
                  10, 5) AS score
FROM fabric                                             /* colonne de table */
ORDER BY score
 

Extraction du score de plusieurs images

Utilisez la fonction UDF QbScoreTBFromStr pour extraire le score de plusieurs images cataloguées dans une colonne de table. Vous pouvez utiliser la fonction UDF QbScoreTBFromName si vous disposez d'une requête nommée. Elles renvoient toutes deux une table comportant deux colonnes contenant respectivement les descripteurs d'image et les scores. Les lignes de la table sont classées par ordre croissant de score. Dans la table de résultats, la colonne des descripteurs et la colonne des scores portent respectivement le nom de IMAGE_ID et SCORE.

Indiquez une chaîne de requête en tant que données d'entrée pour la fonction UDF QBScoreTBFromStr, et le nom d'un objet de requête pour la fonction QbScoreTBFromName. Pour toutes deux, vous devez également spécifier le nom de la colonne et de la table contenant les images cible. Vous pouvez aussi préciser le nombre maximal de lignes à renvoyer dans la table de résultats. Sinon, la fonction utilisateur renvoie une ligne pour chaque image cataloguée dans la colonne de table cible.

Dans la requête suivante, la fonction utilisateur QbScoreTBFromStr permet d'extraire les dix images cataloguées contenues dans une colonne de table dont la texture est la plus proche de celle d'une image d'un fichier serveur.

SELECT name, description
FROM fabric
WHERE CAST (swatch_img as varchar(250)) IN
 SELECT CAST (image_id as varchar(25)) FROM TABLE
 (QbScoreTBFromStr
 (QbTextureFeatureClass file=<server,"patterns/ptrn07.gif">' /*chaîne de requête*/
 
      'fabric',                         /* table */
      'swatch_img',               /* colonne de table */
      10))                                       /* nombre maximal de résultats */
  AS T1));
 


[ Début de page | Page précédente | Page suivante | Table des matières | Index ]