Image、Audio 及 Video Extenders 管理與程式設計

擷取影像分數

Image Extender 提供四個可用於 SQL 陳述式的 UDF, 來擷取表格直欄中已編目影像的分數。

score 指範圍從 0.0 到無限大的加倍精準度浮點值。score 越低表示與符合查詢中所指定特性值的影像特性值越接近。score 值 0.0 表示影像完全相符。

UDF 如下:

建議︰ 使用 QbScoreFromStr UDF,取得單一已編目影像的分數。使用 QbScoreTBFromStr UDF,以取得表格直欄中多個已編目影像的分數。

擷取單一影像的分數

使用 QbScoreFromStr UDF, 取得表格直欄中單一已編目影像的分數。將作為輸入的查詢字串指定給 QbScoreFromStr UDF。 如果您使用 QbScoreFromName UDF, 可以指定作為輸入的查詢物件名稱給 QbScoreFromName UDF。使用其中一個 UDF, 您也可以指定含有目標影像的表格直欄名稱。

在下列查詢中,可使用 QbScoreFromStr UDF, 尋找表格直欄中平均色分數最接近紅色的已編目影像。

SELECT name, description
decimal (QbScoreFromStr(swatch_img,
            'QbColorFeatureClass color=<255, 0, 0>'),   /* query string *
                  10, 5) AS score
FROM fabric                                             /* table column */
ORDER BY score
 

擷取多個影像的分數

使用 QbScoreTBFromStr UDF,以取得表格直欄中多個已編目影像的分數。如果您有指名的查詢,可以使用 QbScoreTBFromName UDF。這兩個 UDF 會傳回影像 handle 和分數的兩個直欄表格;而表格中橫列是以分數的遞增次序排列。 結果 表格中的 handle 直欄名稱是 IMAGE_ID,分數直欄名稱是 SCORE。

將作為輸入的查詢字串指定給 QBScoreTBFromStr UDF。 指定作為輸入的查詢物件名稱給 QbScoreTBFromName UDF。 使用其中一個 UDF, 您也可以指定含有目標影像的直欄和表格名稱。 您也可以指定傳回結果表格中的最大橫列數目。 如果您沒有指定最大結果數目,則 UDF 會為目標表格直欄中每一個已編目影像傳回一橫列。

在下列查詢中,可使用 QbScoreTBFromStr UDF, 尋找表格直欄中紋理最接近伺服器檔中影像的 10 個已編目影像。

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">'   /*query string */
            'fabric',                                   /* table */
      'swatch_img',                                           /* table column */
      10))                                       /* maximum number of results */
  AS T1));
 


[ 頁面頂端 | 前一頁 | 下一頁 | 目錄 | 索引 ]