差别
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
wm_wiki:imagerecognition_sensor:manual [2019/07/17 19:48] juneral [5. 技巧提升] |
wm_wiki:imagerecognition_sensor:manual [2020/05/12 15:34] (当前版本) juneral [3.2. 功能模块及WeeeCode图形化编程指南] |
||
---|---|---|---|
行 266: | 行 266: | ||
padding:0in 5.4pt 0in 5.4pt;height:79.55pt'> | padding:0in 5.4pt 0in 5.4pt;height:79.55pt'> | ||
<p class=MsoNormal align=center style='text-align:center'><img width=520 | <p class=MsoNormal align=center style='text-align:center'><img width=520 | ||
- | height=122 id="图片 8" src="https://www.weeemake.com.cn/wiki/lib/exe/fetch.php?media=wm_wiki:imagerecognition_sensor:pasted:20190717-181503.png"></p> | + | height=122 id="图片 8" src="lib/exe/fetch.php?media=wm_wiki:imagerecognition_sensor:pasted:20190717-181503.png"></p> |
</td> | </td> | ||
</tr> | </tr> | ||
行 287: | 行 287: | ||
padding:0in 5.4pt 0in 5.4pt;height:79.55pt'> | padding:0in 5.4pt 0in 5.4pt;height:79.55pt'> | ||
<p class=MsoNormal align=center style='text-align:center'><img width=640 | <p class=MsoNormal align=center style='text-align:center'><img width=640 | ||
- | height=126 id="图片 9" src="https://www.weeemake.com.cn/wiki/lib/exe/fetch.php?media=wm_wiki:imagerecognition_sensor:pasted:20190717-181512.png"></p> | + | height=126 id="图片 9" src="lib/exe/fetch.php?media=wm_wiki:imagerecognition_sensor:pasted:20190717-181512.png"></p> |
</td> | </td> | ||
</tr> | </tr> | ||
行 307: | 行 307: | ||
<p class=MsoNormal> </p> | <p class=MsoNormal> </p> | ||
<p class=MsoNormal align=center style='text-align:center'><img width=456 | <p class=MsoNormal align=center style='text-align:center'><img width=456 | ||
- | height=50 id="图片 10" src="https://www.weeemake.com.cn/wiki/lib/exe/fetch.php?media=wm_wiki:imagerecognition_sensor:pasted:20190717-181526.png"></p> | + | height=50 id="图片 10" src="lib/exe/fetch.php?media=wm_wiki:imagerecognition_sensor:pasted:20190717-181526.png"></p> |
<p class=MsoNormal> </p> | <p class=MsoNormal> </p> | ||
</td> | </td> | ||
行 329: | 行 329: | ||
padding:0in 5.4pt 0in 5.4pt;height:79.55pt'> | padding:0in 5.4pt 0in 5.4pt;height:79.55pt'> | ||
<p class=MsoNormal align=center style='text-align:center'><img width=636 | <p class=MsoNormal align=center style='text-align:center'><img width=636 | ||
- | height=199 id="图片 11" src="https://www.weeemake.com.cn/wiki/lib/exe/fetch.php?media=wm_wiki:imagerecognition_sensor:pasted:20190717-181539.png"></p> | + | height=199 id="图片 11" src="lib/exe/fetch.php?media=wm_wiki:imagerecognition_sensor:pasted:20190717-181539.png"></p> |
</td> | </td> | ||
</tr> | </tr> | ||
行 350: | 行 350: | ||
padding:0in 5.4pt 0in 5.4pt;height:79.55pt'> | padding:0in 5.4pt 0in 5.4pt;height:79.55pt'> | ||
<p class=MsoNormal align=center style='text-align:center'><img width=510 | <p class=MsoNormal align=center style='text-align:center'><img width=510 | ||
- | height=153 id="图片 12" src="https://www.weeemake.com.cn/wiki/lib/exe/fetch.php?media=wm_wiki:imagerecognition_sensor:pasted:20190717-181553.png"></p> | + | height=153 id="图片 12" src="lib/exe/fetch.php?media=wm_wiki:imagerecognition_sensor:pasted:20190717-181553.png"></p> |
</td> | </td> | ||
</tr> | </tr> | ||
行 375: | 行 375: | ||
<p class=MsoNormal align=left style='margin-bottom:7.9pt;text-align:left; | <p class=MsoNormal align=left style='margin-bottom:7.9pt;text-align:left; | ||
- | text-indent:.5in;background:white'><span style='font-size:16.0pt;font-family: | + | text-indent:.5in;background:white'><b><span style='font-size:16.0pt;font-family: |
- | 宋体;color:#222222'>Arduino-C/C++ API<span lang=ZH-CN>:</span><b><a | + | 宋体;color:#222222'>Arduino <span lang=ZH-CN>函数库介绍:</span></span></b></p> |
- | href="https://www.weeemake.com.cn/wiki/doku.php?id=wm_wiki:micropython:api_document"><span | + | |
- | lang=ZH-CN style='color:#008CBA'>查看相关</span><span style='color:#008CBA'>API</span></a></b></span></p> | + | |
- | <p class=MsoNormal><span style='font-size:16.0pt;font-family:宋体;color:#222222; | + | <p class=MsoNormal align=left style='margin-bottom:7.9pt;text-align:left; |
- | background:white'> </span></p> | + | text-indent:.5in;background:white'><b><span style='font-size:16.0pt;font-family: |
+ | 宋体;color:black;letter-spacing:-.5pt;background:white'>bool getLab(void)</span></b><span | ||
+ | lang=ZH-CN style='font-size:16.0pt;font-family:宋体;color:black;letter-spacing: | ||
+ | -.5pt;background:white'>——反馈摄像头前面的</span><span style='font-size:16.0pt; | ||
+ | font-family:宋体;color:black;letter-spacing:-.5pt;background:white'>LAB<span | ||
+ | lang=ZH-CN>值。更新后数据为</span>minL, maxL, minA, maxA, minB, maxB<span lang=ZH-CN>,分别为</span>3<span | ||
+ | lang=ZH-CN>个分量的最大和最小值。此模式具有自动捕捉功能,只有当摄像头中心区域内物体颜色基本一致时,才会锁定输出。用户可以根据反馈的</span>LAB<span | ||
+ | lang=ZH-CN>范围做适当修改,以满足不同环境下的识别。</span></span></p> | ||
+ | <p class=MsoNormal align=left style='margin-bottom:7.9pt;text-align:left; | ||
+ | text-indent:.5in;background:white'><b><span style='font-size:16.0pt;font-family: | ||
+ | 宋体;color:black;letter-spacing:-.5pt;background:white'>void | ||
+ | setAutoTrackingMode(void)</span></b><span lang=ZH-CN style='font-size:16.0pt; | ||
+ | font-family:宋体;color:black;letter-spacing:-.5pt;background:white'>——设置自动获取模式。此模式为先寻找摄像头前中心区域目标物体信息,当目标中心区域颜色基本一致时,锁定,随后跟踪此物体。此模式类似于小狗拾物的方式,先在眼前放置物体,然后寻找,程序简单,控制方便。</span></p> | ||
+ | |||
+ | <p class=MsoNormal align=left style='margin-bottom:7.9pt;text-align:left; | ||
+ | text-indent:.5in;background:white'><b><span style='font-size:16.0pt;font-family: | ||
+ | 宋体;color:black;letter-spacing:-.5pt;background:white'>bool | ||
+ | getAutoPosition(void)</span></b><span lang=ZH-CN style='font-size:16.0pt; | ||
+ | font-family:宋体;color:black;letter-spacing:-.5pt;background:white'>——获取自动模式下的物体信息。此函数需在</span><span | ||
+ | style='font-size:16.0pt;font-family:宋体;color:black;letter-spacing:-.5pt; | ||
+ | background:white'>setAutoTrackingMode<span lang=ZH-CN>模式下运行,用于获取目标物体在摄像头前的</span>X<span | ||
+ | lang=ZH-CN>、</span>Y<span lang=ZH-CN>坐标位置以及像素大小。当摄像头捕捉到目标物体后返回</span>1<span | ||
+ | lang=ZH-CN>,没有捕捉到返回</span>0<span lang=ZH-CN>。</span></span></p> | ||
+ | |||
+ | <p class=MsoNormal align=left style='margin-bottom:7.9pt;text-align:left; | ||
+ | text-indent:.5in;background:white'><b><span style='font-size:16.0pt;font-family: | ||
+ | 宋体;color:black;letter-spacing:-.5pt;background:white'>bool | ||
+ | getColorPosition(uint8_t mun)</span></b><span lang=ZH-CN style='font-size:16.0pt; | ||
+ | font-family:宋体;color:black;letter-spacing:-.5pt;background:white'>——获取内置颜色</span><span | ||
+ | style='font-size:16.0pt;font-family:宋体;color:black;letter-spacing:-.5pt; | ||
+ | background:white'>mun<span lang=ZH-CN>的物体信息。此函数是捕捉内置</span>5<span lang=ZH-CN>种颜色中的一种,是否出现在摄像头前。</span>Mun<span | ||
+ | lang=ZH-CN>填写</span>1-5<span lang=ZH-CN>,分别对应</span>1-<span lang=ZH-CN>红、</span>2-<span | ||
+ | lang=ZH-CN>黄、</span>3-<span lang=ZH-CN>蓝、</span>4-<span lang=ZH-CN>草绿、</span>5-<span | ||
+ | lang=ZH-CN>深绿。当摄像头捕捉到目标物体后返回</span>1<span lang=ZH-CN>,没有捕捉到返回</span>0<span | ||
+ | lang=ZH-CN>。当返回</span>1<span lang=ZH-CN>时,会更新物体的</span>X<span lang=ZH-CN>、</span>Y<span | ||
+ | lang=ZH-CN>坐标位置以及像素大小。</span></span></p> | ||
+ | |||
+ | <p class=MsoNormal align=left style='margin-bottom:7.9pt;text-align:left; | ||
+ | text-indent:.5in;background:white'><b><span style='font-size:16.0pt;font-family: | ||
+ | 宋体;color:black;letter-spacing:-.5pt;background:white'>void setLabColor1(int8_t | ||
+ | minL, int8_t maxL, int8_t minA, int8_t maxA, int8_t minB, int8_t maxB)</span></b><span | ||
+ | lang=ZH-CN style='font-size:16.0pt;font-family:宋体;color:black;letter-spacing: | ||
+ | -.5pt;background:white'>——设置用户指定的颜色信息。采用</span><span style='font-size:16.0pt; | ||
+ | font-family:宋体;color:black;letter-spacing:-.5pt;background:white'>LAB<span | ||
+ | lang=ZH-CN>色域,</span>6<span lang=ZH-CN>个值代表一个范围。范围越宽,越容易识别,环境适应性越好,但误判的可能性也提高了。此函数为设置编号</span>1<span | ||
+ | lang=ZH-CN>的颜色信息,同理,有</span>setLabColor2<span lang=ZH-CN>、</span>setLabColor3<span | ||
+ | lang=ZH-CN>、</span>setLabColor4<span lang=ZH-CN>分 别对应</span>2<span lang=ZH-CN>、</span>3<span | ||
+ | lang=ZH-CN>、</span>4<span lang=ZH-CN>的颜色信息。</span></span></p> | ||
+ | |||
+ | <p class=MsoNormal align=left style='margin-bottom:7.9pt;text-align:left; | ||
+ | text-indent:.5in;background:white'><b><span style='font-size:16.0pt;font-family: | ||
+ | 宋体;color:black;letter-spacing:-.5pt;background:white'>bool getAppColorPosition(uint8_t | ||
+ | mun)</span></b><span lang=ZH-CN style='font-size:16.0pt;font-family:宋体; | ||
+ | color:black;letter-spacing:-.5pt;background:white'>——获取用户指定颜色</span><span | ||
+ | style='font-size:16.0pt;font-family:宋体;color:black;letter-spacing:-.5pt; | ||
+ | background:white'>mun<span lang=ZH-CN>的物体信息。此函数是捕捉用户自定义的颜色,</span>Mun<span | ||
+ | lang=ZH-CN>填写</span>1-4<span lang=ZH-CN>,对应</span>setLabColorX<span lang=ZH-CN>中的</span>X<span | ||
+ | lang=ZH-CN>序号。当摄像头捕捉到目标物体后返回</span>1<span lang=ZH-CN>,没有捕捉到返回</span>0<span | ||
+ | lang=ZH-CN>。当返回</span>1<span lang=ZH-CN>时,会更新物体的</span>X<span lang=ZH-CN>、</span> | ||
+ | Y<span lang=ZH-CN>坐标位置以及像素大小。</span></span></p> | ||
+ | |||
+ | <p class=MsoNormal align=left style='margin-bottom:7.9pt;text-align:left; | ||
+ | text-indent:.5in;background:white'><b><span style='font-size:16.0pt;font-family: | ||
+ | 宋体;color:black;letter-spacing:-.5pt;background:white'>void | ||
+ | setLineFollowerMode(void)</span></b><span lang=ZH-CN style='font-size:16.0pt; | ||
+ | font-family:宋体;color:black;letter-spacing:-.5pt;background:white'>——设置巡线模式。此模式下,摄像头会获取</span><span | ||
+ | style='font-size:16.0pt;font-family:宋体;color:black;letter-spacing:-.5pt; | ||
+ | background:white'>160*120<span lang=ZH-CN>像素大小灰度信息,用于分别黑线还白线。</span></span></p> | ||
+ | |||
+ | <p class=MsoNormal align=left style='margin-bottom:7.9pt;text-align:left; | ||
+ | text-indent:.5in;background:white'><b><span style='font-size:16.0pt;font-family: | ||
+ | 宋体;color:black;letter-spacing:-.5pt;background:white'>void setLineFollowerThreshold(uint8_t | ||
+ | min,uint8_t max)</span></b><span lang=ZH-CN style='font-size:16.0pt;font-family: | ||
+ | 宋体;color:black;letter-spacing:-.5pt;background:white'>——设置需要捕捉线条的灰度阈值。如果背景是白色,线是黑色,一般取值</span><span | ||
+ | style='font-size:16.0pt;font-family:宋体;color:black;letter-spacing:-.5pt; | ||
+ | background:white'>[0<span lang=ZH-CN>,</span>100]<span lang=ZH-CN>,取值最小为</span>0<span | ||
+ | lang=ZH-CN>,最大为</span>255<span lang=ZH-CN>,纯黑为</span>0<span lang=ZH-CN>,纯白为</span>255<span | ||
+ | lang=ZH-CN>。</span></span></p> | ||
+ | |||
+ | <p class=MsoNormal align=left style='margin-bottom:7.9pt;text-align:left; | ||
+ | text-indent:.5in;background:white'><b><span style='font-size:16.0pt;font-family: | ||
+ | 宋体;color:black;letter-spacing:-.5pt;background:white'>bool | ||
+ | getLineFollowerAngle(void)</span></b><span lang=ZH-CN style='font-size:16.0pt; | ||
+ | font-family:宋体;color:black;letter-spacing:-.5pt;background:white'>——获取巡线角度信息。获取的角度信息是一个正负角度值,根据这个值控制小车左右转,这个值在±</span><span | ||
+ | style='font-size:16.0pt;font-family:宋体;color:black;letter-spacing:-.5pt; | ||
+ | background:white'>53<span lang=ZH-CN>°以内。当摄像头捕捉到线条后返回</span>1<span lang=ZH-CN>,没有捕捉到返回</span>0<span | ||
+ | lang=ZH-CN>。注意此函数需要在</span>setLineFollowerMode<span lang=ZH-CN>函数下使用。</span></span></p> | ||
+ | |||
+ | <p class=MsoNormal align=left style='margin-bottom:7.9pt;text-align:left; | ||
+ | text-indent:.5in;background:white'><b><span style='font-size:16.0pt;font-family: | ||
+ | 宋体;color:black;letter-spacing:-.5pt;background:white'>bool | ||
+ | getLineFollowerAxis(void)</span></b><span lang=ZH-CN style='font-size:16.0pt; | ||
+ | font-family:宋体;color:black;letter-spacing:-.5pt;background:white'>——获取巡线区域信息。此函数会更新</span><span | ||
+ | style='font-size:16.0pt;font-family:宋体;color:black;letter-spacing:-.5pt; | ||
+ | background:white'>5<span lang=ZH-CN>个值,代表摄像头前从远到近依次排列的</span>5<span lang=ZH-CN>个区域的中心</span>X<span | ||
+ | lang=ZH-CN>坐标值,这</span>5<span lang=ZH-CN>个区域代表黑线线条区域。当摄像头捕捉到线条后返回</span>1<span | ||
+ | lang=ZH-CN>,没有捕捉到返回</span>0<span lang=ZH-CN>。注意此函数需要在</span>setLineFollowerMode<span | ||
+ | lang=ZH-CN>函数下使用。</span></span></p> | ||
+ | |||
+ | <p class=MsoNormal align=left style='margin-bottom:7.9pt;text-align:left; | ||
+ | text-indent:.5in;background:white'><b><span style='font-size:16.0pt;font-family: | ||
+ | 宋体;color:black;letter-spacing:-.5pt;background:white'>void | ||
+ | setPixelsThreshold(uint8_t mun)</span></b><span lang=ZH-CN style='font-size: | ||
+ | 16.0pt;font-family:宋体;color:black;letter-spacing:-.5pt;background:white'>——设置识别物体最小像素数。当识别物体的像素数量超过</span><span | ||
+ | style='font-size:16.0pt;font-family:宋体;color:black;letter-spacing:-.5pt; | ||
+ | background:white'>mun<span lang=ZH-CN>时,才会收到反馈信息,否则就当没有识别。此函数可以用于过滤干扰,或者识别较大物体。默认为</span>10<span | ||
+ | lang=ZH-CN>。</span></span></p> | ||
+ | |||
+ | <p class=MsoNormal align=left style='margin-bottom:7.9pt;text-align:left; | ||
+ | text-indent:.5in;background:white'><b><span style='font-size:16.0pt;font-family: | ||
+ | 宋体;color:black;letter-spacing:-.5pt;background:white'>bool | ||
+ | getColorAllPosition(uint8_t mun)</span></b><span lang=ZH-CN style='font-size: | ||
+ | 16.0pt;font-family:宋体;color:black;letter-spacing:-.5pt;background:white'>——获取内置颜色</span><span | ||
+ | style='font-size:16.0pt;font-family:宋体;color:black;letter-spacing:-.5pt; | ||
+ | background:white'>mun<span lang=ZH-CN>物体的所有信息。与</span>getColorPosition<span | ||
+ | lang=ZH-CN>类似,但信息更多,共包括</span>centerX<span lang=ZH-CN>、</span>centerY<span | ||
+ | lang=ZH-CN>、</span>pixels<span lang=ZH-CN>、</span>frameX<span lang=ZH-CN>、</span>frameY<span | ||
+ | lang=ZH-CN>、</span> high<span lang=ZH-CN>、</span>width<span lang=ZH-CN>、</span>rotation<span | ||
+ | lang=ZH-CN>等</span>8<span lang=ZH-CN>个信息,分别代表物体中心</span>X<span lang=ZH-CN>坐标、中心</span>Y<span | ||
+ | lang=ZH-CN>坐标、像素个数、物体边框</span>X<span lang=ZH-CN>坐标、边框</span>Y<span lang=ZH-CN>坐标、边框高度、边框宽度、物体旋转角度。由于数据较多,所有识别速率较</span>getColorPosition<span | ||
+ | lang=ZH-CN>慢。</span></span></p> | ||
+ | |||
+ | <p class=MsoNormal align=left style='margin-bottom:7.9pt;text-align:left; | ||
+ | text-indent:.5in;background:white'><b><span style='font-size:16.0pt;font-family: | ||
+ | 宋体;color:black;letter-spacing:-.5pt;background:white'>bool | ||
+ | getAppColorAllPosition(uint8_t mun)</span></b><span lang=ZH-CN | ||
+ | style='font-size:16.0pt;font-family:宋体;color:black;letter-spacing:-.5pt; | ||
+ | background:white'>——获取用户指定颜色</span><span style='font-size:16.0pt;font-family: | ||
+ | 宋体;color:black;letter-spacing:-.5pt;background:white'>mun<span lang=ZH-CN>物体的所有信息。与</span>getAppColorPosition<span | ||
+ | lang=ZH-CN>类似,但信息更多,共包括</span>centerX<span lang=ZH-CN>、</span>centerY<span | ||
+ | lang=ZH-CN>、</span>pixels<span lang=ZH-CN>、</span>frameX<span lang=ZH-CN>、</span>frameY<span | ||
+ | lang=ZH-CN>、</span>high<span lang=ZH-CN>、</span>width<span lang=ZH-CN>、</span>rotation<span | ||
+ | lang=ZH-CN>等</span>8<span lang=ZH-CN>个信息,分别代表物体中心</span>X<span lang=ZH-CN>坐标、中心</span>Y<span | ||
+ | lang=ZH-CN>坐标、像素个数、物体边框</span>X<span lang=ZH-CN>坐标、边框</span>Y<span lang=ZH-CN>坐标、边框高度、边框宽度、物体旋转角 | ||
+ | 度。由于数据较多,所有识别速率较</span>getAppColorPosition<span lang=ZH-CN>慢。</span></span></p> | ||
+ | |||
+ | <p class=MsoNormal align=left style='margin-bottom:7.9pt;text-align:left; | ||
+ | text-indent:.5in;background:white'><b><span style='font-size:16.0pt;font-family: | ||
+ | 宋体;color:black;letter-spacing:-.5pt;background:white'>void | ||
+ | resetColorMode(uint8_t time)</span></b><span lang=ZH-CN style='font-size:16.0pt; | ||
+ | font-family:宋体;color:black;letter-spacing:-.5pt;background:white'>——重新初始化物体识别(非巡线)。参数</span><span | ||
+ | style='font-size:16.0pt;font-family:宋体;color:black;letter-spacing:-.5pt; | ||
+ | background:white'>time<span lang=ZH-CN>为曝光时间,时间越短,拾取图像越黑,适合高亮度环境,时间越长,拾取图像越亮,适合较暗的环境。</span>Time<span | ||
+ | lang=ZH-CN>单位为毫秒,默认</span>2000<span lang=ZH-CN>,适合较暗的环境。</span></span></p> | ||
+ | |||
+ | <p class=MsoNormal align=left style='margin-bottom:7.9pt;text-align:left; | ||
+ | text-indent:.5in;background:white'><b><span style='font-size:16.0pt;font-family: | ||
+ | 宋体;color:black;letter-spacing:-.5pt;background:white'>bool getFacePositon(void)</span></b><span | ||
+ | lang=ZH-CN style='font-size:16.0pt;font-family:宋体;color:black;letter-spacing: | ||
+ | -.5pt;background:white'>——获取人脸位置信息。当摄像头捕捉到人脸后返回</span><span style='font-size: | ||
+ | 16.0pt;font-family:宋体;color:black;letter-spacing:-.5pt;background:white'>1<span | ||
+ | lang=ZH-CN>,没有捕捉到返回</span>0<span lang=ZH-CN>。当返回</span>1<span lang=ZH-CN>时,会更新人脸中心点的</span>X<span | ||
+ | lang=ZH-CN>、</span>Y<span lang=ZH-CN>坐标值。</span></span></p> | ||
</body></html> | </body></html> | ||
行 613: | 行 763: | ||
lang=ZH-CN>、如果开启了人脸识别程序、或者巡线识别程序后,想开启寻找颜色的程序,需要调用</span>resetColorMode<span | lang=ZH-CN>、如果开启了人脸识别程序、或者巡线识别程序后,想开启寻找颜色的程序,需要调用</span>resetColorMode<span | ||
lang=ZH-CN>()函数,把摄像头由灰度模式返回为彩色模式,当然也可以重启摄像头模块。</span></span></p> | lang=ZH-CN>()函数,把摄像头由灰度模式返回为彩色模式,当然也可以重启摄像头模块。</span></span></p> | ||
+ | |||
+ | <p class=MsoTitle><span style='font-size:16.0pt;font-family:宋体'>5<span | ||
+ | lang=ZH-CN>、如果环境不是特别亮(如在太阳底下),建议模块在较暗处上电,然后再正常使用,这样识别效果更好,同一场景下识别的像素点更多。</span></span></p> | ||
</body></html> | </body></html> | ||