关于openmv与stm32之间的串口通信实现

已经在研一度过快3个月了,研究生学习跟本科学习还是有很大区别的,要善于自己找资料善于自己总结,因此我也决定从现在开始时不时的写写博客总结后面每段时间遇到的各种困难以及解决方法,为以后工作积累经验也方便以后查阅。

这是我第一篇博客,之前都是在做关于树莓派和opencv的项目,前段时间老师也是给了我一个新项目的思路,也是要基于视觉处理的,但因为21年电赛刚过有些学弟在比赛时都用到了openmv,所以我也想试试用openmv来处理处理手上这个项目,也顺便重新认识认识老朋友stm32。

言归正传,基于openmv的图像处理可以说是非常简单的,官方给了各种库,但凡好好看看例子都能会用,但是openmv的引脚太少了以至于能实现的功能太单一,所以这时候openmv也就只能作为传感器,大多数功能还得靠stm32,既然openmv作为传感器,所以openmv与stm32之间必须实现通信,方式很多很多,我选择了最基础的串口通信。

虽然本科也干了不少STM32与各类传感器的通信,但这次依碰到一些小麻烦,在网上查了不少资料,但怎么说了要么就是给的代码不全不知道上下的联系,要么就是单纯在那讲STM32的串口通信跟题目根本不搭噶。

废话少说,直接边上代码边总结。(之前记得将openmv的P4接到stm32的PA10,P5接到PA9)

关于openmv的代码:

# Blob Detection and uart transport
import sensor, image, time,math
from pyb import UART
import json
# For color tracking to work really well you should ideally be in a very, very,
# very, controlled enviroment where the lighting is constant...
yellow_threshold   = (65, 100, -10, 6, 24, 51)
# You may need to tweak the above settings for tracking green things...
# Select an area in the Framebuffer to copy the color settings.

sensor.reset() # Initialize the camera sensor.
sensor.set_pixformat(sensor.RGB565) # use RGB565.
sensor.set_framesize(sensor.QQVGA) # use QQVGA for speed.
sensor.skip_frames(10) # Let new settings take affect.
sensor.set_auto_whitebal(False) # turn this off.
clock = time.clock() # Tracks FPS.

uart = UART(3, 115200)
def find_max(blobs):
    max_size=0
    for blob in blobs:
        if blob.pixels() > max_size:
            max_blob=blob
            max_size = blob.pixels()
    return max_blob

while(True):
    img = sensor.snapshot() # Take a picture and 
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

逐渐掉头发的阿江

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值