IBM Books

Image Extender、Audio Extender 和 Video Extender 管理和程序设计

指定查询字符串

可使用查询字符串来标识要查询的特性、特性值和特性权重。查询字符串是格式为 feature_name value 的字符串, 其中 feature_name 是 QBIC 特性名, 而 value 是与特性相关联的值。

可在一个查询中指定多个特性。然后,对每个特性指定一对特性名-值,如特性值中所述。各对之间用子句 AND 分隔。当在一个查询中指定多个特性时,还可对一个或多个特性指定权重, 如 特性权重 中所述。这样,查询字符串就具有格式 feature_name value weight, 其中 weight 是对该特性指定的权重。

Image Extender 提供了使用查询字符串的一个 API (QbQueryStringSearch) 和 两个 UDF(QbScoreFromStr 和 QbScoreTBFromStr)。在发出查询时,使用适当的 API 或 UDF,并将查询字符串指定为输入参数。(有关详情,参见按图象内容发出查询。)

特性值

在查询字符串中指定查询中各个特性的特性值。

当在 DB2 命令内传送查询时, 必须遵循查询的某些命名约定才能使查询正确工作。必须将 包含空格或右尖括号 (>) 的文件名括在双引号中;其他文件名可以括在 双引号中,也可以不括在双引号中。如果使用引号来括住文件名, 则必须在每个引号前面放一个转义字符 (\)。若不在 DB2 命令内 传送查询,则无需将转义字符与引号包括在一起。

在下例中,DB2 命令中传送了查询字符串:

db2 "select image_id from table
(mmdbsys.QbScoreTBFromStr
('texture file=<server,patterns/ptrn07.gif>',
'fabric',
'swatch_img',
10))
as T1"

下表列示可为每个特性指定的值:在每个特性名下面的字符串是可替代它的缩写格式。

表 8. 可在查询字符串中指定的特性值
特性名
averageColor,average 或 QbColorFeatureClass color=<Rvalue, Gvalue, Bvalue>

每个颜色值都是 0 至 255 的整数, 标识图象的红色值 (Rvalue)、绿色值 (Gvalue) 和蓝色值 (Bvalue)。

file=<file_location, filename>

对于服务器文件,file_location服务器filename 是以适合于文件所驻留的系统的格式指定的完整文件路径,或是相对文件名。DB2 Extender 使用环境变量解析相对文件名(参见如何使用环境变量来解析文件名)。

histogram,histogramcolor 或 QbColorHistogramFeatureClass histogram=<(hist_value, Rvalue, Gvalue, Bvalue>), ...

每个直方图颜色值都在子句中指定, 子句标识该颜色在直方图中的百分比(1 至 100) (hist_value),以及该颜色的红色值 (Rvalue)、 绿色值 (Gvalue) 和蓝色值 (Bvalue)。

file=<file_location, filename>

对于服务器文件,file_location服务器filename 是以适合于文件所驻留的系统的格式指定的完整文件路径,或是相对文件名。DB2 Extender 使用环境变量解析相对文件名。

draw,positional 或 QbDrawFeatureClass file=<file_location, filename>

handle=<image_handle>

对于服务器文件,file_location服务器filename 是以适合于文件所驻留的系统的格式指定的完整文件路径,或是相对文件名。DB2 Extender 使用环境变量解析相对文件名。

纹理或 QbTextureFeatureClass file=<file_location, filename>

handle=<image_handle>

对于服务器文件,file_location服务器filename 是以适合于文件所驻留的系统的格式指定的完整文件路径,或是相对文件名。DB2 Extender 使用环境变量解析相对文件名。

特性权重

若在查询字符串中指定多个特性,则还可对其中一个或多个特性指定权重。特性权重指示,当 Image Extender 计算类似性得分并返回“按图象内容查询” 的结果时,它对特性的重视程度。对特性指定的权重越高,在查询中对该特性越重视。权重是大于 0.0 的实数,如 2.5 或 10.0。若不在查询字符串中指定权重,则 Image Extender 将使用特性的缺省权重。若该特性是查询字符串中指定的唯一特性, 则指定权重并无意义。(该特性将总是具有查询中的全部权重。)

特性的权重是相对于查询中指定的其他特性而言的。例如,假设在查询字符串中指定平均颜色和纹理特性, 并对平均颜色指定权重值 2.0。这告诉 Image Extender 对平均颜色值的重视程度是纹理值的两倍。

示例

以下查询字符串指定红色平均颜色:

averageColor color=<255, 0, 0>

以下查询字符串指定由 10% 红色、50% 绿色和 40% 蓝色组成的直方图:

histogram histogram=<(10, 255, 0, 0), (50, 0, 255, 0),
                                        (40, 0, 0, 255)>

以下查询字符串指定平均颜色值和纹理值。纹理值是由服务器文件中的图象提供的。纹理的权重是平均颜色的两倍:

averageColor color=<30, 200, 25> and
  texture file=<server, "\patterns\pattern7.gif"> weight=2.0


[ 页的顶部 | 上一页 | 下一页 | 目录 | 索引 ]