• 【OpenMV】迷宫识别 挖坑未更新版


    我想用OpenMV做一个迷宫识别的代码,但是奈何实力不允许,不会写,先挖个坑,以后来填坑

    1. 二值化 + 识别圆形,画圈
    2. # 颜色二值化滤波例子
    3. #
    4. # 这个脚本展示了二值图像滤波。
    5. # 您可以传递二进制任意的阈值来分割图像。
    6. import sensor, image, time
    7. sensor.reset()
    8. sensor.set_framesize(sensor.QVGA)
    9. sensor.set_pixformat(sensor.RGB565)
    10. sensor.set_windowing(35,35,220,200)
    11. #设置颜色阈值,如果是rgb图像,六个数字分别为(minL, maxL, minA, maxA, minB, maxB);
    12. #如果是灰度图,则只需设置(min, max)两个数字即可。
    13. Black_threshold = (5, 48, 91, -32, 44, -1) #二值化 黑色颜色阈值
    14. Circle_threshold = (100, 94, 2, -11, 1, -11) #二值化之后的白色圆形颜色阈值
    15. sensor.skip_frames(time = 2000)
    16. clock = time.clock()
    17. #使用工具 - >机器视觉 - >阈值编辑器选择更好的阈值。
    18. while(True):
    19. #测试黑色阈值
    20. clock.tick()
    21. img = sensor.snapshot() #图像
    22. img.binary([Black_threshold]) #二值化
    23. #Circle_Color_Block = img.find_blobs([Circle_threshold]) #寻找圆形色块
    24. #找圆形
    25. for c in img.find_circles(threshold = 4000, x_margin = 10, y_margin = 10, r_margin = 10,
    26. r_min = 3, r_max = 6, r_step = 2):
    27. img.draw_circle(c.x(), c.y(), c.r(), color = (255, 0, 0))
    28. #for r in img.find_rects(threshold = 8000):
    29. #img.draw_rectangle(r.rect(), color = (255, 255, 0))
    30. ##i = r.x() + (int)(r.w()/2)
    31. #img.draw_circle(r.x() + (int)(r.w()/2), r.y() + (int)(r.h()/2), 5, color = (0, 255, 255))
    32. print(clock.fps())
    33. #image.binary(thresholds, invert=False)此函数将在thresholds内的
    34. #图像部分的全部像素变为1白,将在阈值外的部分全部像素变为0黑。invert将图像
    35. #的0 1(黑 白)进行反转,默认为false不反转。

  • 相关阅读:
    DDR4 眼图测试方法
    搭建vue3源码学习环境
    硬件视频会议升级方案
    prompt(1) to win -xss学习
    微信小程序基础加强总结
    EDI通信中常用的网络排查方法
    七日算法先导(三)—— 快速排序,插入排序
    Operator 基础原理和概念
    数据整理(提取年份)
    Android 内存优化&内存泄漏处理
  • 原文地址:https://blog.csdn.net/weixin_63135906/article/details/133467275