imgsmlr
是PolarDB PostgreSQL版(兼容Oracle)支持的一款第三方插件,支持相似图像搜索功能。imgsmlr
插件基于Haar
小波变换算法,能够提取png、gif等类型图像特征值,并通过索引检索相似的图像。
使用方法
数据类型
imgsmlr
提供了两种数据类型,分别为pattern
和signature
。
数据类型 | 存储大小 | 说明 |
pattern | 16388 字节 | 对图像进行Haar小波变换的结果。 |
signature | 64 字节 | pattern的简短表示,可以使用GiST索引进行快速搜索。 |
函数
imgsmlr
提供了多种函数,可以将各种类型的图像转为pattern
类型,同时提供函数为pattern
类型图像创建signature
便于检索。
函数 | 返回类型 | 说明 |
jpeg2pattern(bytea) | pattern | 将图像由jpeg转为pattern类型。 |
png2pattern(bytea) | pattern | 将图像由png转为pattern类型。 |
gif2pattern(bytea) | pattern | 将图像由gif 转为pattern类型。 |
pattern2signature(pattern) | signature | 为pattern类型图像创建signature。 |
shuffle_pattern(pattern) | pattern | 随机化处理pattern,降低对图像偏移的敏感度。 |
运算符
pattern
和signature
类型都支持欧几里德距离的<->
运算符。signature
还支持在<->
运算符上使用GiST索引。
运算符 | 左值类型 | 右值类型 | 返回类型 | 说明 |
<-> | pattern | pattern | float8 | 计算两个pattern类型图像的欧几里得距离。 |
<-> | signature | signature | float8 | 计算两个signature类型图像的欧几里得距离。 |
示例
创建插件
创建图像特征值表
创建
- 本页导读 (0)