颜色模型说明 - ColorModel
概述
colorJson / 颜色模型字符串用于在图像处理、图像识别、文字识别等接口中限定颜色范围。 本说明文档统一介绍所有支持的颜色表示方式,接口文档只需简单引用本页即可。
1. JSON 格式(原有写法,完全兼容)
[
{
"StartColor": "3278FA",
"EndColor": "6496FF",
"Type": 0,
"ColorSpace": 0,
"GrayMin": 0,
"GrayMax": 0,
"HMin": 0,
"HMax": 0,
"SMin": 0,
"SMax": 0,
"VMin": 0,
"VMax": 0
},
{
"StartColor": "#AABBCC",
"EndColor": "#DDEEFF",
"Type": 1
}
]
StartColor/EndColor支持以下形式:#AARRGGBBAARRGGBB#RRGGBBRRGGBB
EndColor颜色支持偏色模式,以@开头+-符号做偏色判断如:@101010:表示对起始颜色R,G,B通道做+-10的偏色@+101010:表示对起始颜色R通道做+10 G,B通道做+-10的偏色@+10-1010:表示对起始颜色R通道做+10 G通道做-10的偏色,B通道做+-10的偏色
Type说明:0:正常匹配(保留在颜色范围内的像素)1:反色匹配(保留在颜色范围外的像素)2:正常交集匹配3:反色交集匹配
ColorSpace说明(可选,默认0):0:BGRA颜色空间(沿用StartColor/EndColor的颜色规则)1:灰度空间(使用GrayMin/GrayMax)2:HSV空间(使用HMin/HMax/SMin/SMax/VMin/VMax)
- 灰度与 HSV 字段(可选,缺省按
0处理):GrayMin、GrayMax:仅当ColorSpace=1时生效HMin、HMax、SMin、SMax、VMin、VMax:仅当ColorSpace=2时生效
2. 偏色区间格式:"RRGGBB-DRDGDB"
- 基本格式:
"基准色-偏移量",例如:"AABBCC-000000""DDEEFF-202020"
- 多个区间用
|分隔,例如:"AABBCC-000000|DDEEFF-202020"
- 含义:
- 左侧为基准色
RRGGBB - 右侧
DRDGDB表示每个通道允许的偏移范围
- 左侧为基准色
反色模式
- 在字符串前面加
@即表示反色模式:"@AABBCC-000000|DDEEFF-202020"
3. 颜色区间范围格式:"RRGGBB~RRGGBB"
- 基本格式:
"起始色~结束色",例如:"000000~FFFFFF"表示从#000000到#FFFFFF的连续颜色范围
- 支持多个区间,用
|分隔,例如:"AABBCC~BBCCDD|AAAAAA~FFFFFF"
反色模式
- 在字符串前面加
@即表示反色模式:"@AABBCC~BBCCDD|AAAAAA~FFFFFF"
4. 单独颜色格式
- 支持直接填写单个颜色值:
#AARRGGBBAARRGGBB#RRGGBBRRGGBB
- 支持多个颜色,用
|组合,例如:"#FF0000|00FF00|0000FF"
反色模式
- 在字符串前面加
@表示对这些颜色进行反选:"@FF0000|00FF00"
5. 灰度规则(Gray)
- 精确灰度:
#G(等价#G-0)- 例如:
"#40"、"#125"
- 例如:
- 灰度区间:
#G-dG- 例如:
"#70-10",表示灰度范围[60,80]
- 例如:
6. HSV 规则(OpenCV 语义)
- 精确 HSV:
H.S.V或H,S,V(等价偏移0)- 例如:
"20.30.40"、"20,30,40"
- 例如:
- HSV 区间:
H.S.V-dH.dS.dV(或逗号分隔)- 例如:
"20.30.40-0.0.0"、"20,30,40-0,0,0"
- 例如:
H通道兼容:- 当
H/dH大于179时,自动按0~360输入换算到 OpenCV0~179
- 当
7. 使用建议
- 简单场景可直接使用单独颜色或颜色区间格式,便于书写。
- 需要精细控制时,推荐使用 JSON 格式并明确设置
Type。 - 不同接口中
colorJson的业务含义略有差异(如过滤背景色 / 限制前景色),具体请参考对应接口文档的简要说明。
