找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

搜索
MakerMare-创客海社区 门户 查看主题

OpenMV光流例程错误

发布者: fga | 发布时间: 2019-4-21 07:07 PM| 查看数: 188| 评论数: 4|帖子模式

目前支持微信扫码直接登陆 或邮箱验证注册登陆,结交更多好友,享用更多功能,让你轻松玩转社区!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
固件刷新过 IDE也用过很多版本 用的是mini openmv

捕获.PNG

最新评论

fga 发表于 2019-4-21 23:21:11
# MAVLink OpticalFlow Script.
#
# This script sends out OpticalFlow detections using the MAVLink protocol to
# an LIGHT/PixHawk UAV controller for position control using your OpenMV Cam.
#
# P4 = TXD 115200,8,N,1
# 来自群里Nico_Liu共享

import sensor, image, time, pyb, struct, math

sensor.reset() # Initialize the camera sensor.
sensor.set_pixformat(sensor.GRAYSCALE) # or sensor.GRAYSCALE
sensor.set_framesize(sensor.B64X64) # or B40x30 or B64x64
clock = time.clock() # Tracks FPS.

old = sensor.snapshot()

uart = pyb.UART(3, 115200, timeout_char = 1000)

def send_optical_flow_packet(x, y, c):
    temp = struct.pack("<bbiii",
                       0xAA,
                       0xAE,
                       int(x * 100000 ), # up sample by 4
                       int(y * 100000 ), # up sample by 4
                       int(c * 100000))
    uart.write(temp)


while(True):
    clock.tick() # 获取时间
    img = sensor.snapshot() # 获取一帧图像
    delta_x = old.find_displacement(img).x_translation()
    delta_y = old.find_displacement(img).y_translation()
    response= old.find_displacement(img).response()
#    [delta_x, delta_y, response] = old.find_displacement(img) #获取前面一张图像与刚捕获的图像之间的偏移
    old = img.copy()
    print("%0.6fX   %0.6fY   %0.2fC   %0.2fFPS" % (delta_x, delta_y, response, clock.fps()))
    if (not (math.isnan(delta_x) or math.isnan(delta_y) or math.isnan(response))):
        send_optical_flow_packet(delta_x, delta_y, response)
凡哥 发表于 2019-4-21 23:56:37
这个是旧版IDE下可正常运行,在当前版本的OPenMV的IDE下无法正常运行,建议参考下OpenMV的IDE自带的最新的光流历程。
如果 发表于 2019-5-28 21:48:44
fga 发表于 2019-4-21 11:21 PM
# MAVLink OpticalFlow Script.
#
# This script sends out OpticalFlow detections using the MAVLink pro ...

你好,你现在光流可以用了吗
凡哥 发表于 2019-5-30 17:23:57
得用IDE自带光流历程