注意
- 操作环境的光线会对 M.A.R.K 的图像识别功能造成很大影响,请尽量在“明亮”的环境下进行操作,避免在“昏暗”的环境下进行图像识别。必要时,可以依靠 M.A.R.K 的车头灯进行补光。这里的环境明亮与否是针对 M.A.R.K 的摄像头而言,而不是人眼,具体光线效果可以从屏幕中摄像头捕捉的画面看出。
- 使用圆形或长方形检测积木之前,建议先设置 “图像识别 灵敏”,圆形检测的灵敏度推荐值为 3000 ~ 5000(实测所得数据);长方形检测的灵敏度推荐值为 3000 ~ 5000(实测所得数据)。
- 长方形检测对背景的要求比圆形检测时更高,请尽量在比较简单的背景(如纯白背景)下做长方形的检测。
- 视觉巡线对环境光的要求较高,请尽量在光线充足且均匀的环境下使用视觉巡线。若光线过亮,即使是黑线,也可能会因为材质的反光被 M.A.R.K 误认为是白色区域;若光线过暗,白色区域会被捕捉为灰色,与黑线混淆;这两种情况都会严重影响巡线效果。
设置图像识别 灵敏度为(5000)
【含义】:设置针对兴趣区域(指屏幕中心160*120白色框区域)内图像识别时的灵敏度值,数字越大,对环境要求越高,越不容易识别,数字越小,越容易误识别
【类型】:执行类
【提示】:
检测到圆形
【含义】:若兴趣区域检测到圆形,则返回 “真”(值 1);否则返回 “假”(值 0)
【类型】:布尔类
【返回值】:真 或 假
示例:圆形检测
当兴趣区域检测到圆形时,车头灯闪烁红灯3次,否则车头灯亮蓝色。
检测到(红色)圆形
【含义】:若兴趣区域检测到指定颜色的圆形,则返回 “真”(值 1);否则返回 “假”(值 0)
【类型】:布尔类
【返回值】:真 或 假
示例:红色圆形检测
当兴趣区域检测到红色圆形时,车头灯闪烁红灯3次并触发扬声器警报。
检测到圆 RGB值
【含义】:返回兴趣区域检测到的圆形的RGB值,参数为 R(红), G(绿), B(蓝)
【类型】:信息类
【返回值】:(R,G,B)
【返回值类型】:字符串
【提示】:未检测到圆形时,返回 “FALSE”;若出现多个圆,返回其中最大一个圆的数据
示例:读取圆形颜色信息
在屏幕实时显示兴趣区域检测到的圆形的颜色信息。
检测到圆信息
【含义】:返回兴趣区域检测到的圆的相关信息,包括位置坐标(X,Y),半径大小R,参数为 X, Y, R
【类型】:信息类
【返回值】:(X,Y,R)
【返回值类型】:字符串
【提示】:未检测到圆形时,返回 “0”;若出现多个圆,返回其中最大一个圆的数据
示例:读取圆形信息
在屏幕实时显示兴趣区域检测到的圆形的信息。
检测到的圆(X坐标)
【含义】:返回兴趣区域检测到的圆的X坐标,Y坐标或半径
【类型】:信息类
【返回值】:X坐标/Y坐标/半径
【返回值类型】:int
【提示】:未检测到圆形时,返回 “0”;若出现多个圆,返回其中最大一个圆的数据
示例:横向圆形追踪
摄像头横向跟随检测到的圆形转动。
检测到长方形
【含义】:若兴趣区域检测到长方形,则返回 “真”(值 1);否则返回 “假”(值 0)
【类型】:布尔类
【返回值】:真 或 假
【提示】:
- 使用长方形检测积木之前,需要先设置 “图像识别 灵敏”,推荐值为 8000 ~ 10000(实测所得数据)
- 长方形检测对背景的要求比圆形检测时更高,请尽量在比较简单的背景(如纯白背景)下做长方形的检测
示例:长方形检测
当兴趣区域检测到长方形时,车头灯闪烁红灯3次,否则车头灯亮蓝色。
检测到(红色)长方形
【含义】:若兴趣区域检测到指定颜色的长方形,则返回 “真”(值 1);否则返回 “假”(值 0)
【类型】:布尔类
【返回值】:真 或 假
【提示】:
- 使用长方形检测积木之前,需要先设置 “图像识别 灵敏”,推荐值为 8000 ~ 10000(实测所得数据)
- 长方形检测对背景的要求比圆形检测时更高,请尽量在比较简单的背景(如纯白背景)下做长方形的检测
示例:红色长方形检测
当兴趣区域检测到红色长方形时,车头灯闪烁红灯3次并触发扬声器警报。
检测到长方形 RGB值
【含义】:返回兴趣区域检测到的长方形的RGB值,参数为 R(红), G(绿), B(蓝)
【类型】:信息类
【返回值】:(R,G,B)
【返回值类型】:字符串
【提示】:未检测到长方形时,返回 “FALSE”;若出现多个长方形,则返回其中最大一个长方形的数据
示例:读取长方形颜色信息
在屏幕实时显示兴趣区域检测到的长方形的颜色信息。
检测到长方形信息
【含义】:返回兴趣区域检测到的长方形的相关信息,包括位置坐标(X,Y)、长和宽,参数为 X, Y, L,W
【类型】:信息类
【返回值】:(X,Y,L,W)
【返回值类型】:字符串
【提示】:未检测到长方形时,返回 “0”;若出现多个长方形,则返回其中最大一个长方形的数据
示例:读取长方形形信息
在屏幕实时显示兴趣区域检测到的长方形的信息。
检测到的长方形(X坐标)
【含义】:返回兴趣区域检测到的长方形的X坐标,Y坐标,长或宽
【类型】:信息类
【返回值】:X坐标/Y坐标/长/宽
【返回值类型】:int
【提示】:未检测到长方形时,返回 “0”;若出现多个长方形,则返回其中最大一个长方形的数据
示例:纵向方形追踪
摄像头纵向跟随检测到的方向形转动。该示例程序最好在比较简单的背景(如纯白背景)下运行。
设置线识别颜色为(黑色)
【含义】:设置视觉巡线时需要识别的线颜色,若不设置,默认识别黑线
【类型】:执行类
示例:视觉巡线
设置摄像头方向朝下,根据观察到的地上黑线相对位置,调整 M.A.R.K 转弯角度进行视觉巡线。
设置线识别权重区域:A区(70)% B区(50)% C区(30)%
【含义】:设置视觉巡线时摄像头捕捉到的画面上A区、B区和C区三个不同兴趣区域的权重
【类型】:执行类
【提示】:
- 设置区域权重会影响 M.A.R.K 巡线时的 “转弯角度”,当某一区域内检测到的黑线(或白线)位置发生变化时,若该区域权重越大,对转弯角度影响越大,若该区域的权重为0,则不会影响转弯角度。
- 70/50/30的默认值为实测时比较通用的一组数据,使用时可根据实际效果调整权重。
示例:视觉巡线
设置摄像头方向朝下,根据观察到的地上黑线位于相对位置,调整 M.A.R.K 转弯角度进行视觉巡线。
转弯角度
【含义】:返回视觉巡线需要的转弯角度;转弯角度越为正时,M.A.R.K左转,转弯角度为负数时,M.A.R.K右转,转弯角度接近0时,M.A.R.K直行
【类型】:信息类
【范围】:[-90,90]
【返回值类型】:int
示例:视觉巡线
根据转弯角度进行视觉巡线,并实时将转弯角度的值显示在屏幕上便于debug。
检测到的面部
【含义】:如果检测到面部,则小车会返回值 TRUE(1)或是 FALSE (0)
【类型】:布尔类
【返回值类型】:TRUE/FALSE
【提示】:
检测到的面部 X坐标
【含义】:返回检测到的面部的X坐标,Y坐标,长度或宽度
【类型】:数据类
【返回值】:X,Y,W,H
【返回值类型】:int
【提示】:如果未检测到面部,则返回 0,如果检测到多个面部,则返回返回其中最大一个面部的数据。
示例:面部跟踪
镜头沿检测到的面部倾斜。在纯色或白色背景中运行该程序。
初始化目标跟踪(需5秒)
【含义】: 分析 ROI 中对象的颜色直方图(屏幕中央的小方块),并将其存储在内部变量中,以供以后进行颜色跟踪
【类型】: 执行类
【提示】:
- 颜色直方图分析过程需要 60 帧才能完成。请在分析期间让要跟踪的对象一直在方形 ROI 内,否则可能会无法进行目标跟踪。
- 色彩鲜艳的物体,效果最好,就如下图所示。在弱光条件下/当光照条件发生变化时/在中性彩色物体上很有可能会失败。
示例: 请参见 示例:南瓜灯跟踪
目标的(X坐标)
【含义】: 通过查找使用“初始化目标跟踪”(5s)块设置的颜色的色斑来检测图像中的对象。 返回检测到的物体的 X 坐标,Y 坐标,长度和宽度。通过找寻通过“初始化目标跟踪(需5s)”积木块设置的色块,从而在图像中检测到目标。
【类型】:数据类
【返回值】: X, Y, W, H
【返回值类型】: int
【提示】:如果未检测到目标,则返回 0,如果检测到多个目标,则返回返回其中最大一个目标的数据
示例:南瓜灯跟踪
程序输出检测到的Jack-o-Lantern的X坐标。在纯色或白色背景中运行该程序。