资源简介
工程训练大赛openmv二维码、色环、色块识别 可通过串口与单片机通信实现openmv的任务切换
代码片段和文件信息
# Untitled - By: zxs - 周日 9月 2 2018
import sensor image time lcd jsonmathujson
from pyb import LED
from pyb import UART
led=LED(4)
obj = [[120][1012][2210][9911]]
threshold_index = 0 # 0 for red 1 for green 2 for blue
# Color Tracking Thresholds (L Min L Max A Min A Max B Min B Max)
# The below thresholds track in general red/green/blue things. You may wish to tune them...
#(31 61 28 56 -4 42)
#(24 66 15 74 -63 71)
#(32 65 -32 -6 -3 21)
#(51 71 -21 -4 -35 -19)
thresholds = [(19 73 36 65 3 42) # generic_red_thresholds
(26 76 -50 -18 -12 33) # generic_green_thresholds
(24 77 -31 13 -50 -17)] # generic_blue_thresholds
objthresholds = [(47 80 20 46 -10 24) # generic_red_thresholds
(65 82 -13 -9 -4 8) # generic_green_thresholds
(58 72 1 5 -19 -9)] # generic_blue_thresholds
#(47 82 -26 -5 -7 7)
#(66 75 -20 -7 -3 1)
#(50 65 -1 13 -18 -1)
#(50 72 2 19 -30 -5)
graythreshold=[(100255)]
K=5000
sensor.reset()
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QVGA) # Special 128x160 framesize for LCD Shield.
sensor.skip_frames(time = 2000)
#sensor.set_auto_gain(False) # must turn this off to prevent image washout...
uart = UART(3 115200)
uart.init(115200 bits=8 parity=None stop=1)
# 比较两个色块大小的函数
def compareBlob(blob1 blob2):
# 这里我们选择了pixels作为指标比对二者的代码
# 你也可以换用其它指标 例如 blob.area()
tmp = blob1.pixels() - blob2.pixels()
if tmp == 0:
return 0;
elif tmp > 0:
return 1;
else:
return -1;
#串口字符串指令切换功能:
# {“RGB_blocks“:“find_R“} 查找红色色块
# {“RGB_blocks“:“find_G“} 查找绿色色块
# {“RGB_blocks“:“find_B“} 查找蓝色色块
# {“RGB_blocks“:“find_RGB_blocks“} 查找最近色块颜色
# {“Code_block“:“find_Code“} 查找二维码
# {“RGB_circles“:“find_R“} 查找红色色环
# {“RGB_circles“:“find_G“} 查找绿色色环
# {“RGB_circles“:“find_B“} 查找蓝色色环
# {“circle“:“RGB“} 查找当前色环颜色
# {“LED“:“ON“} 打开LED
# {“LED“:“OFF“} 关闭LED
lcd.init() # Initialize the lcd screen.
A=5
B=0
while(True):
exsit=0;
data=[]
img = sensor.snapshot()
img.lens_corr(1.0) # strength of 1.8 is good for the 2.8mm lens.
if(uart.any()):
time.sleep(200)
d=uart.read()
da=str(d“utf-8“)
jsobj=ujson.loads(da)
for key in jsobj.keys():
print(‘key:%s value:%s‘%(keyjsobj.get(key)))
if(jsobj.get(“RGB_blocks“)==“find_R“):
A=1
else:
if(jsobj.get(“RGB_blocks“)==“find_G“):
A=2
else:
if(jsobj.get(“RGB_blocks“)==“find_B“):
A=3
else:
if(jsobj.get(“RGB_blocks“)==“find_RGB_blocks“):
A=4
else:
if(jsobj.get(“Code_block“)==“find_Code“):
- 上一篇:豆瓣电影排行爬虫
- 下一篇:西电数据挖掘作业——医院数据处理
相关资源
- 豆瓣电影排行爬虫
- Python语言程序设计基础 第二版 pdf书籍
- Python和Pygame游戏开发
- Python for data analysis(第二版中文版代
- Python绝技运用Python成为顶级黑客.pdf
- 零基础python入门--课件&代码pyth
- python基于人脸检测和人脸识别
- 一个猥琐的贪吃蛇Python pygame
- XATU_Project.zip
- python绘制新型冠状病毒疫情地图与疫
- Python灰帽子-黑客与逆向工程师的Pyt
- python+pyqt图书管理系统
- Python数据挖掘入门与实践----Code完整代
- deep learning with python 中文版
- Python黑帽子 黑客与渗透测试编程之道
- 树莓派Python编程入门与实战
- python,pygame开发的太空大战源代码
- 最大匹配法分词Python
- 疫情数据爬虫并绘制柱状图.py
- 天天生鲜Python版前端页面
- Python-中国科学院大学教务抢课程序多
- 《Python绝技》:运用Python成为顶级黑
- OpenMV交通灯识别例程
- Introduction to machine learning with python (
- python 去掉重复行
- 上采样/上变频/半带滤波器设计仿真代
- python遗传算法解决八皇后问题
- Data Science from Scratch First Principles wit
- python小说阅读系统
- python新浪微博爬虫,爬取微博和用户
评论
共有 条评论