Cognex 标签导入/导出插件
CLIP(Cognex 标签导入/导出插件)是一个可帮助您导入/导出 VisionPro Deep Learning 工具的标签、遮蔽和图像(仅限导出)的 VisionPro Deep Learning 插件。
CLIP 基础知识
在 VisionPro Deep Learning 中,标签、这版和图像是基于视图(ROI 定义的视图)导入/导出。因此,只有在定义了 VisionPro Deep Learning 中每个视图的 ROI 之后,才能导入标签或遮蔽。如果标签或遮蔽不符合定义的 ROI,则不会将其导入。
VisionPro Deep Learning 视图浏览器中每个视图的图像文件名(不包括文件类型)和要导入的标签/遮蔽文件名应完全匹配。例如,当您在视图浏览器中为文件名为“name.png”的特定视图导入标签时,标签文件名应为“name.png”、“name.vrlf”(红色分析)或“name.vglf”(绿色分类)。
导入/导出格式
图像文件类型 |
类型 |
导入 |
导出 |
图像 |
- |
- |
png |
标签 |
内部 |
.vrlf (红色分析), .vglf (绿色分类) |
|
外部 |
png(仅限红色分析) |
- |
|
JSON |
.json |
- |
|
遮蔽 |
内部 |
.vmf |
|
外部 |
png |
- |
|
JSON |
.json |
- |
-
.vrlf:VisionPro Deep Learning 红色分析标签格式
-
.vflf:VisionPro Deep Learning 绿色分类标签格式
-
.vmf:VisionPro Deep Learning 掩码格式
-
JSON:JSON 文件格式(请参阅最近几节 JSON 文件格式的详细信息。)
激活 CLIP
-
运行VisionPro Deep Learning。
-
转到“插件”>“管理插件”。
-
选择“添加”按钮。
-
选择 CLIP.VPlugin.dll 和选择“打开”。
-
关闭插件管理器。
-
创建或导入工作区,并创建工具或将工具导入该工作区的流中。
Note: 有关工作区的更多详细信息,请参阅工作区、流、工具 -
将图像加载到工具中,并设置 ROI 以定义视图。
-
选择工具并转到“插件”菜单。根据您选择的工具,您会找到“导入”和“导出”菜单。
导入标签
红色分析 | 绿色分类 | 蓝色定位 | 蓝色读取 | |
导入内部标签 (采用 VisionPro Deep Learning 内部标签文件格式的标签文件) |
O |
O |
X |
X |
导入外部标签:png 文件 (代表标签的图像文件) |
O |
X |
X |
X |
导入外部标签:JSON 文件 (包含标签信息的 JSON 文件) |
O |
O |
X |
X |
导入内部标签
-
准备采用 VisionPro Deep Learning 内部标签格式的标签文件。
-
红色分析标签格式:.vrlf
-
绿色分类标签格式:.vglf
-
打开工作区,在流中选择红色分析或绿色分类工具。
-
转到“插件”>“导入标签”。
-
选择内部标签图像和选择“选择文件”。
-
找到内部标签文件并将其打开。
导入外部标签:png 文件 (红色分析)
-
准备 png 格式的标签图像文件。例如,您的标签是一个图像文件,其中背景(良好区域)是白色的,有缺陷的区域是黑色的。
-
打开标签图像文件并获取背景的像素值。在上述示例中,值为 255( 像素强度)。
Note: 要导入的所有标签图像的背景像素值必须一致。 -
打开工作区,在流中选择红色分析工具,然后转到“插件”>“导入标签”。
-
选择外部标签图像。
-
在第 2 步馈送背景像素值。
-
选择“选择文件”以找到 png 文件并将其打开。
-
选择“应用”。
导入外部标签:JSON 文件
-
准备包含图像文件名及其标签信息的 JSON 文件。
Note: 图像文件名必须与 VisionPro Deep Learning 工作区中加载的图像文件名完全匹配,包括大小写。对于绿色分类,JSON 文件应包含所有视图的标签信息。JSON 文件必须遵守下列规则。
-
文件中必须包含键值“classes”和“images”。
-
作为“classes”的子级,必须包含 {index (string type),class name (string type)} 对。
-
关键值“images”必须在每个图像文件名下有一个“class”。
复制Green Classify JSON Label Example"classes": {
"0": "OK",
"1": "NG"
}
"images": {
"CAM1-NG.png": {
"class": [
1
]
},
"CAM2-NG.png": {
"class": [
1
]
}
} -
-
文件中必须包含键值“标签”,每个标签的信息都应列在键值下。
-
标签信息应该包含“笔划粗细”、“形状”和“点”。
-
“类”必须输入为正整数(无符号长整型),不能输入字符串或其他类型。
-
“笔画粗细”是缺陷区域轮廓的粗细。
-
"形状”是区域的形状。它包含字符串类型,并且必须是以下类型之一:“矩形”、“椭圆”、“直线”、“折线”、“多边形”
-
"形状”是形成区域的形状的坐标集。其值由“形状”确定。
-
“矩形”:左上角坐标 (x0, y0) 和右下角坐标 (x1, y1)
-
“椭圆”:左上角坐标 (x0, y0) 和右下角坐标 (x1, y1)
-
“直线”:起始坐标 (x0, y0) 和结束坐标 (x1, y1)
-
“折线”:构成折线的坐标 (x0, y0), (x1, y1), ..., (xN, yN)
-
“多边形”:构成多边形的坐标 (x0, y0), (x1, y1), ..., (xN, yN)
-
-
打开工作区,在流中选择红色分析或绿色分类工具,然后转到“插件”>“导入标签”。
-
选择 JSON 和“选择文件”。
-
找到 JSON 文件并将其打开。
-
选择“应用”。
对于红色分析,JSON 文件应包含单个视图的标签信息。因此,您需要准备的 JSON 文件数与视图总数一样多。除文件扩展名外,每个 JSON 文件的文件名必须与 VisionPro Deep Learning 图像显示区域中每个视图的图像文件名完全匹配。JSON 文件必须遵守下列规则。
"Labels": [
{
"Class": 0,
"Shape": "ellipse",
"StrokeThickness": 5.0,
"Points": [
"104.972811914788,310.801663378971",
"132.045318045539,338.438180054112"
]
},
{
"Class": 0,
"Shape": "ellipse",
"StrokeThickness": 5.0,
"Points": [
"301.248481362731,141.034489517388",
"323.808903138356,168.106995648139"
]
}
]
导出标签
红色分析 | 绿色分类 | 蓝色定位 | 蓝色读取 | |
导出标签(以 VisionPro Deep Learning 内部标签文件格式导出标签) |
O |
O |
X |
X |
-
打开工作区,在流中选择红色分析或绿色分类工具,然后转到“插件”>“导出图像”。
-
启用标签复选框并选择“浏览”以查找要保存的标签文件的位置。
-
选择“导出”。
-
标签文件保存在 SELECTED_PATH/WORKSPACE_NAME/STREAM_NAME/TOOL_NAME/Labels 下
导入遮蔽
红色分析 | 绿色分类 | 蓝色定位 | 蓝色读取 | |
导入外部遮蔽 (代表遮蔽的图像文件) |
O |
O |
O |
O |
导入内部遮蔽 (采用 VisionPro Deep Learning 默认遮蔽文件格式的遮蔽文件) |
O |
O |
O |
O |
导入 JSON 遮蔽 (包含遮蔽信息的 JSON 文件) |
O |
O |
O |
O |
导入内部遮蔽
-
准备采用 VisionPro Deep Learning 内部遮蔽格式的遮蔽文件。
-
VisionPro Deep Learning 遮蔽格式:.vmf
-
-
打开工作区,在流中选择工具,然后转到“插件”>“导入遮蔽”。
-
选择“内部遮蔽图像”和“选择文件”。
-
找到内部遮蔽文件并将其打开。
-
选择“应用”。
导入外部遮蔽:png 文件
-
准备 png 格式的遮蔽图像文件。例如,您的遮蔽是一个图像文件,其中遮蔽区域是黑色的,其他区域(背景)是白色的。
-
打开遮蔽图像文件并获取背景的像素值。在上述示例中,值为 255( 像素强度)。
Note: 要导入的所有遮蔽图像的像素值必须一致。 -
打开工作区,在流中选择工具,然后转到“插件”>“导入遮蔽”。
-
选择外部遮蔽图像。
-
在第 2 步馈送背景像素值。
-
选择“选择文件”以找到 png 文件并将其打开。
-
选择“应用”。
导入外部遮蔽:json 文件
-
准备包含图像文件名及其遮蔽信息的 JSON 文件。
Note: 图像文件名必须与 VisionPro Deep Learning 工作区中加载的图像文件名完全匹配,包括大小写。对于所有类型的工具,JSON 文件应包含单个视图的遮蔽信息。因此,您需要准备的 JSON 文件数与视图总数一样多。除文件扩展名外,每个 JSON 文件的文件名必须与 VisionPro Deep Learning 图像显示区域中每个视图的图像文件名完全匹配。JSON 文件必须遵守下列规则。
-
文件中必须包含键值“遮蔽”,每个遮蔽的信息都应列在键值下。
-
遮蔽信息应该包含“笔划粗细”、“形状”和“点”。
-
“笔画粗细”是遮蔽轮廓的粗细。
-
"形状”是遮蔽的形状。它包含字符串类型,并且必须是以下类型之一:“矩形”、“椭圆”、“直线”、“折线”、“多边形”
-
"点”是形成遮蔽形状的坐标集。其值由“形状”确定。
-
“矩形”:左上角坐标 (x0, y0) 和右下角坐标 (x1, y1)
-
“椭圆”:左上角坐标 (x0, y0) 和右下角坐标 (x1, y1)
-
“直线”:起始坐标 (x0, y0) 和结束坐标 (x1, y1)
-
“折线”:构成折线的坐标 (x0, y0), (x1, y1), ..., (xN, yN)
-
“多边形”:构成多边形的坐标 (x0, y0), (x1, y1), ..., (xN, yN)
-
复制Green Classify JSON Mask Example"Masks": [
{
"Shape": "polygon",
"StrokeThickness": 1.0,
"Points": [
"183,121",
"182,122",
"180,122",
"179,123",
"177,123",
"176,124",
"174,124",
"173,125",
]
},
{
"Shape": "polygon",
"StrokeThickness": 1.0,
"Points": [
"262,135",
"260,137",
"260,138",
"259,139",
"259,142",
"260,143",
"260,144",
"261,144",
"262,145",
"264,145",
"265,144",
"266,144",
"266,143",
"267,142",
"267,139",
"266,138",
"266,137",
"264,135"
]
}
] -
-
打开工作区,在流中选择工具,然后转到“插件”>“导入遮蔽”。
-
选择 JSON 和“选择文件”。
-
找到 JSON 文件并将其打开。
-
选择“应用”。
导出遮蔽
红色分析 | 绿色分类 | 蓝色定位 | 蓝色读取 | |
导出遮蔽(采用 VisionPro Deep Learning 默认遮蔽文件格式的遮蔽文件) | O | O | O | O |
-
打开工作区,在流中选择工具,然后转到“插件”>“导出图像”。
-
启用“遮蔽”复选框并单击“浏览”以选择要保存的遮蔽文件的位置。
-
选择“导出”。
-
遮蔽文件保存在 SELECTED_PATH/WORKSPACE_NAME/STREAM_NAME/TOOL_NAME/Masks 下
导出图像
红色分析 | 绿色分类 | 蓝色定位 | 蓝色读取 | |
导出图像(采用 png 文件格式的图像文件) | O | O | O | O |
-
打开工作区,在流中选择工具,然后转到“插件”>“导出图像”。
-
启用“图像”复选框并单击“浏览”以选择要保存的图像文件的位置。
-
选择“导出”。
-
图像文件保存在 SELECTED_PATH/WORKSPACE_NAME/STREAM_NAME/TOOL_NAME/Images 下