【OpenMv】测距测尺寸

这篇具有很好参考价值的文章主要介绍了【OpenMv】测距测尺寸。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、原理(以小球为例)

测距: 相同尺寸,距离越近,像素点越多,所以距离与直径像素点个数成反比:K = 距离*直径的像素

测尺寸: 相同距离,尺寸越大,直径像素点越多,所以物体尺寸与直径像素点个数成正比:实际大小 = K1*直径的像素

因此:

需要测距的时候,只需要用同一小球,先修改物体的颜色阈值,让OpenMv能够框出小球,再在一个已知距离点打印物体的像素点长度,就可以用K = 距离*直径的像素求出关系系数K,然后再通过公式打印出距离。

需要测量大小的时候,先测出小球的直径,然后在一固定位置(测量任何尺寸必须固定在同一位置)打印小球的直径像素点,再通过实际大小 = K1*直径的像素公式求出比例系数K1,然后通过公式打印出尺寸大小。文章来源地址https://www.toymoban.com/news/detail-614595.html

二、代码

# Hello World Example
#
# Welcome to the OpenMV IDE! Click on the green run arrow button below to run the script!


# Measure the distance
#
# This example shows off how to measure the distance through the size in imgage
# This example in particular looks for yellow pingpong ball.

import sensor, image, time

# 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   = (12, 100, -69, 67, 119, 16)
# 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.

#the value should be measured
#K = 距离*直径的像素
K=544
#实际大小 = K1*直径的像素
K1=0.038

while(True):
    clock.tick() # Track elapsed milliseconds between snapshots().
    img = sensor.snapshot() # Take a picture and return the image.

    blobs = img.find_blobs([yellow_threshold])
    if len(blobs) == 1:
        # Draw a rect around the blob.
        b = blobs[0]
        img.draw_rectangle(b[0:4]) # rect
        img.draw_cross(b[5], b[6]) # cx, cy
        Lm = (b[2]+b[3])/2
        length = K/Lm
        size = K1*Lm
        h = K1*b[3]
        w = K1*b[2]
        #print(length)
        #print(Lm)
        #print(size)
        print("高:%s cm,宽:%s",h,w)

    #print(clock.fps()) # Note: Your OpenMV Cam runs about half as fast while
    # connected to your computer. The FPS should increase once disconnected.

到了这里,关于【OpenMv】测距测尺寸的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 2021电赛F题送药小车视觉部分的一种思路(双OpenMV法)

    前言: 最近参加了2021年电赛的F题,因为诸多原因未能完赛,现将图像识别部分的记录一下,交流学习。 因为只介绍视觉部分,我们就节选相关的部分吧。 设计并制作智能送药小车,模拟完成在医院药房与病房间药品的送取作业。院区结构示意如图 1 所示。院区走廊两侧的

    2024年02月15日
    浏览(45)
  • 【计算机视觉】基于OpenCV计算机视觉的摄像头测距技术设计与实现

    在当今技术日益进步的时代,计算机视觉已成为我们生活中不可或缺的一部分。从智能监控到虚拟现实,计算机视觉技术的应用范围日益广泛。在这篇博客中,我们将探索一个特别实用的计算机视觉案例:使用OpenCV实现摄像头测距。这一技术不仅对专业人士有用,也为编程爱

    2024年02月04日
    浏览(55)
  • openmv底层算法剖析---梦飞openmv前传

    前言 接梦飞openmv博客,本篇重点剖析openmv的算法和功能实现。openmv是国外开源团队依托mirco-python架构开发的一套基于stm32内核优化算法的图像识别模组,其目的是让图像视觉算法应用开发更加简便,算法运行效率更高,其底层代码全部由C语言实现,上层代码用micro-python开发。

    2024年02月13日
    浏览(44)
  • 计算机视觉实战项目2(单目测距+图像处理+路径规划+车牌识别)

    用python3+opencv3做的中国车牌识别,包括算法和客户端界面,只有2个文件,一个是界面代码,一个是算法代码,点击即可出结果,方便易用! 链接:车牌识别 大致的UI界面如下,点击输入图片,右侧即可出现结果! 额外说明:算法代码只有500行,测试中发现,车牌定位算法的

    2024年02月07日
    浏览(66)
  • OpenMV快速上手 | OpenMV硬件版本概述及HelloWorld

    OpenMV是一个国外的开源项目, 是一款低价、可扩展、支持Python的机器视觉模块 ,这个模块的目标是成为“机器视觉世界的Arduino “。 OpenMV的官网:https://openmv.io/。 OpenMV是完全开源的硬件 ,意味着所有版本的OpenMV硬件,你都可以在github下载到开发板的原理图、pcb,甚至是芯片

    2024年02月02日
    浏览(33)
  • python基于OpenCV预测图片中目标的实际尺寸(计算机视觉)

    本次实验需要根据已知的硬币的直径,预测图片中书本的长与宽以及书本右上方用铅笔画的圆圈的外圆直径。可以先对图片进行矫正,找到硬币的轮廓并计算硬币直径占据的像素大小,进而得到实际尺寸和像素的比例系数,然后找到书本和铅笔绘制的圆圈的轮廓,再根据它们

    2024年02月03日
    浏览(56)
  • OpenMV:19OpenMV4 Plus训练神经网络进行口罩识别

    注意: 只有 OpenMV4 Plus 可以自己训练神经网络,其他版本的性能不够 本节讲解如何使用 edgeimpulse.com 网站来 自行训练神经网络模型 ,进而实现机器学习的功能 edgeimpulse.com 是一个在线网站,是一个为嵌入式产品非常快速地生成嵌入式上面使用的神经网络的模型,非常地易用且

    2024年02月15日
    浏览(59)
  • openmv云端训练神经网络自动生成openmv的神经网络模型

    打开openmv工具栏如图所示,点击新数据集  弹出如下界面,这里我选择的是我自己新建的new date文件夹,你们选择自己新建的文件夹即可  接下来我们点击左边红框框起来的地方,可得到中间那个界面,可自己创建名称  左上角就是我创建好的两个,接下来我们点击下面红框

    2024年02月12日
    浏览(40)
  • openmv4

    Flash小(128M)且寿命短,我们用16G的SD卡做文件系统 (1)每次烧程序先将SD卡格式化为FAT32 (2)连接,IDE重置openMV Cam (3)连接,将打开的脚本保存到openMV Cam(作为main.py) (4)弹出u盘 (5)上电自动运行 (6)因为我们是想用这个东西录视频,所以每次都用U盘查看数据 这玩意是

    2024年02月16日
    浏览(27)
  • OpenMV——色块识别

    OpenMV有很多示例代码,下面是我学习过程中有关知识的总结。 目录 前言 一、阈值选择 二.代码 前言 函数RGB(255,0,0)表示的是红色。 RGB(255,0,0)含义:红色值 Red=255;绿色值 Green=0;蓝色值 Green=0。 常见颜色: 黑色RGB:红色值 Red=0;绿色值 Green=0;蓝色值 Green=0; 蓝色RGB:红色值

    2024年02月15日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包