• 1、什么是像素和分辨率?...1、帧率(FPS)就是每秒钟处理的图片数量,如果超过20帧,人眼就基本分辨不出卡顿。当然,如果用在机器上,帧率是越高越好的。2、所谓的测量单位为每秒显示帧数(Frames per...

    1、什么是像素和分辨率?

    摄像头有一些感光元件,感光元件是由很多个感光点构成的,比如有640*480个点,每个点就是一个像素,把每个点的像素收集整理起来,就是一副图片,那么这张图片的分辨率就是640*480:


    2、什么是帧率?

    1、帧率(FPS)就是每秒钟处理的图片数量,如果超过20帧,人眼就基本分辨不出卡顿。当然,如果用在机器上,帧率是越高越好的。

    2、所谓的测量单位为每秒显示帧数(Frames per Second,简称:FPS)或“赫兹”(Hz)

    3、什么是颜色?

    物理上,颜色就是不同波长的电磁波。


    4、RGB三原色是什么?

    三原色的原理不是物理原因,而是由于人的生理原因造成的。人的眼睛内有几种辨别颜色的锥形感光细胞,分别对黄绿色、绿色和蓝紫色(或称紫罗兰色)的光最敏感(波长分别为564、534和420纳米)。

    所以RGB经常用于显示器上,用来显示图片。

    5、什么是LAB亮度-对比度?

    1、Lab颜色空间中,L(Luminosity)亮度;a的正数代表红色,负端代表绿色;b的正数代表黄色,负端代表兰色。不像RGB和CMYK色彩空间,Lab颜色被设计来接近人类视觉。
    因此L分量可以调整亮度对,修改a和b分量的输出色阶来做精确的颜色平衡。

    注意:在OpenMV的查找色块的算法中,运用的就是这个LAB模式!(Lab 颜色模式的亮度分量 (L) 范围是 0 到 100。

    6、镜头的焦距

    镜头焦距:是指镜头光学后主点到焦点的距离,是镜头的重要性能指标。镜头焦距的长短决定着拍摄的成像大小,视场角大小,景深大小和画面的透视强弱。当对同一距离远的同一个被摄目标拍摄时,镜头焦距长的所成的象大,镜头焦距短的

    所成的象小。注意焦距越长,视角越小。 

    7、镜头的滤片的作用是什么?

    我们知道,不同颜色的光,是波长不一样。在正常环境中,除了可见光,还有很多红外光,在夜视中,用的就是红外光。

    但是,在正常颜色应用中,是不需要红外光的,因为红外光也会使感光元件受到反应,就使得整个画面泛白。所以我们在镜头上放一个只能通过波长650nm以内的滤光片,就把红外光截止了。

    展开全文
  • OpenMV简介以及基本中文教程请参见目前官网给出OpenMV中国的三家代理商,英文教程请参见官网以及官方论坛。此笔记是由于中文代理商不够全面的基础上,整合官网教程,自己可以最大程度的了解这个小巧易用的摄像头模块...

    OpenMV简介以及基本中文教程请参见目前官网给出OpenMV中国的三家代理商英文教程请参见官网以及官方论坛。此笔记是由于中文代理商不够全面的基础上,整合官网教程,自己可以最大程度的了解这个小巧易用的摄像头模块,也方便大家参考,*不保证正确,您所使用的代码,对您的openmv造成任何损害,我概不负责,慎用!*


    >0x01<—>MicroPython库<


    以下标准Python库内置于MicroPython中。对于其他库,请从micropython-lib存储库下载。Python标准库和微型库,以下标准Python库已经被“微观化”以适应MicroPython的理念。它们提供该模块的核心功能,旨在成为标准Python库的替代品。这些模块可以通过他们的 u-name引用,也可以通过它们的 non-u-name来获得。 non-u-name该名称的文件应在你的package路径中。例如,import json 将首先搜索 json.py 文件或 json 目录,如果找到它就可加载该包。如果没有找到任何内容,它将回退加载内置ujson模块。
    官网给出的几个模块,引用方法同Python的基本语法一样,先 import,再 name.function()

    • gc - 控制垃圾收集器
    • math - 数学函数库
    • select - 等待一组流上的事件
    • sys - 系统特定功能
    • ubinascii - 二进制/ ASCII转换
    • uhashlib - 哈希算法
    • uio - 输入/输出流
    • ujson - JSON编码和解码
    • uos - 基本的“操作系统”服务
    • ure - 正则表达式
    • usocket - 提供对BSD的访问。
    • ustruct - 打包和解包原始数据类型
    • utime - 时间相关功能
    • uzlib - zlib解压缩

    举个栗子

    import  math
    
    def degrees(radians):   #弧度制和角度制的转换计算
        return (180 * radians) / math.pi
    

    对于OpenMV,开发者,封装了专门的库,用于使用者调用,简单方便。

    pyb     # 与电路板相关的功能(板级功能)
            #时间相关功能 (部分可以与time类替换)
            #复位相关功能
            #中断相关功能
            #电源相关功能
            #其他功能
            #类(class)
    ########其他类#########
    ADC     #- 模数转换
            #构造函数(Constructors)
            #方法(Methods)
    
    DAC     #- 数模转换
            #构造函数
            #方法
    
    CAN     #总线控制器局域网通信总线
            #构造函数
            #类方法(Class Methods)
            #方法
            #常量(Constants)
    
    ExtInt  #- 配置I / O引脚以在外部事件中中断
            #构造函数
            #类方法
            #方法
            #常量
    
    I2C     # - 一个双线串行协议
            #构造函数
            #方法
            #常量
    
    LED     #LED,板子上已经内置了几个led
            #构造函数
            #方法
    
    I / O   #引脚
            #构造函数
            #类方法
            #方法
            #常量
    
    servo   #- 3线伺服驱动器
            构造函数
            方法
    
    SPI类    #- 主驱动串行协议
            #构造函数
            #方法
            #常量
    
    Timer  #- 控制内部定时器
            #构造函数
            #方法
    
    TimerChannel    #- 为定时器设置通道
                    #方法
    
    UART    #- 双工串行通信总线
            #构造函数
            #方法
            #常量
            #流量控制
    
    USB_VCP #- USB虚拟通信端口
            #构造函数
            #方法
    
    time    #- 追踪经过时间
            #功能
            #构造函数
            #方法
    
    sensor  #- 摄像头传感器
            #功能
            #常量
    
    image   #- 机器视觉
            #功能
    
    HaarCascade     #- 特征描述符
                    #构造函数
    
    Histogram       #- 直方图对象
                    #方法
    
    Percentile      #百分位数对象
    方法
    
    Statistics      #- 统计对象
                    #方法
    
    Blob            #- Blob对象
                    #方法
    
    Line            #- Line对象
    
    Circle          #- Circle对象
                    #方法
    
    Rect            #- Rectangle Object
                    #方法
    
    QRCode          #- QRCode对象,扫码
                    #方法
    
    AprilTag        #- AprilTag对象,3D识别***标签***
                    #方法
    
    DataMatrix      #- DataMatrix对象
                    #方法
    
    BarCode         #- BarCode对象
                    #方法
    
    kptmatch        #- 关键点对象
                    #方法
    
    ImageWriter     #- ImageWriter对象
                    #构造函数
                    #方法
    
    ImageReader     # - ImageReader对象
                    #构造函数
                    #方法
    Image           #- 图像对象
                    #构造函数
                    #方法
                    #常量
    
    gif             #- gif录音
    
    Gif             #Gif录音机
                    #构造函数
                    #方法
    
    mjpeg           #- mjpeg录音
    
    Mjpeg           #- Mjpeg录音机
                    #构造函数
                    #方法
    
    lcd             #- lcd屏蔽驱动程序,配套官方屏幕
                    #功能
    
    fir             #- 热电屏蔽驱动器(fir ==远红外线)
                    #功能
    
    cpufreq         #- 简单的cpu频率控制
                    #功能
                    #常量
    
    machine         #- 与电路板相关的功能
                    #复位相关功能
                    #中断相关功能
                    #电源相关功能
                    #杂项功能
                    #类
    
    I2C             #- 一个双线串行协议
                    构造函数
                    一般方法
                    原始I2C操作
                    标准 bus 操作
                    内存操作

    代码实例

    import sensor, image, time,pyb
    from pyb import UART
    from pyb import Pin
    
    green_threshold=(45,75,-40,-10,4,30)
    blue_threshold   = ( 30 ,45,0,30,-62,-39)
    
    ROI=(77,8,221,216)#设置检测区域(兴趣范围)
    
    sensor.reset() # Initialize the camera sensor.
    sensor.set_pixformat(sensor.RGB565) # use RGB565.
    sensor.set_framesize(sensor.QVGA) # use QQVGA for speed.
    sensor.set_brightness(-1)#亮度
    sensor.skip_frames(10) # Let new settings take affect.
    sensor.set_auto_gain(False) # must be turned off for color tracking
    sensor.set_auto_whitebal(False) # must be turned off for color tracking
    #关闭白平衡。白平衡是默认开启的,在颜色识别中,需要关闭白平衡。
    clock = time.clock() # Tracks FPS.
    
    
    single_out =  Pin('P0', Pin.OUT_PP)#IO操作,注意对应OpenMV引脚
    single_out.low()
    
    # P4->TX ,P5->RX
    uart = UART(3, 115200)#先实例化一个19200波特率的串口3,
    pyb.delay(1000)#板级毫秒延时,也可以time.ticks()替换,
    
    send_data_2=[0xf1,0,0,0,0,0,0,0,0,0xf2]
    while(True):
        clock.tick() # Track elapsed milliseconds between snapshots().
        send_data=[]
        send_data.append(0xf0)
        img = sensor.snapshot() # Take a picture and return the image.
        green_blobs = img.find_blobs([green_threshold],roi=ROI)
    
        sum_bai=len(green_blobs)
        #print("bai%d:"%sum_bai)#调试用
        if sum_bai>=1:
        #如果找到了目标颜色
            for b in green_blobs[0:1]:#只取一个
            #迭代找到的目标颜色区域
                # Draw a rect around the blob.
                img.draw_rectangle(b[0:4],color=(255,255,255)) # rect
                #用白色矩形标记出目标颜色区域
                img.draw_cross(b[5], b[6]) # cx, cy
                #发打送包(8bit/位),精度保留
                send_data.append(b[5]//256)
                send_data.append(b[5]%256)
                send_data.append(b[6]//256)
                send_data.append(b[6]%256)
                #在目标颜色区域的中心画十字形标记
        if sum_bai==0:#保证数据包一样长
            send_data.append(send_data_2[1])
            send_data.append(send_data_2[2])
            send_data.append(send_data_2[3])
            send_data.append(send_data_2[4])
        #蓝色识别追踪
        blue_blobs = img.find_blobs([blue_threshold],roi=ROI)
        sum_blue=len(blue_blobs)
        if blue_blobs:
            #如果找到了目标颜色
            for b in blue_blobs:
                #迭代找到的目标颜色区域
                    # Draw a rect around the blob.
                    img.draw_rectangle(b[0:4],color=(0,0,0)) # rect
                    #用白色矩形标记出目标颜色区域
                    img.draw_cross(b[5], b[6]) # cx, cy
                    #在目标颜色区域的中心画十字形标记
                    send_data.append(b[5]//256)
                    send_data.append(b[5]%256)
                    send_data.append(b[6]//256)
                    send_data.append(b[6]%256)
                    break
                    #在目标颜色区域的中心画十字形标记
        if sum_blue==0:
                send_data.append(send_data_2[5])
                send_data.append(send_data_2[6])
                send_data.append(send_data_2[7])
                send_data.append(send_data_2[8])
    
        img.draw_rectangle(ROI)
        print(clock.fps()) # 帧率值,Note: Your OpenMV Cam runs about half as fast while
        # connected to your computer. The FPS should increase once disconnected.
        print("white: %d blue: %d"%(sum_bai,sum_blue))
        send_data.append(0xf1)#帧尾
        #自定义数据帧完毕,拉高P0为高电平,出发单片机外部IO中断接收数据包
        single_out.high()
        pyb.delay(5)
        for i in send_data:
            uart.writechar(i)
        print(send_data)#调试用
        send_data_2=send_data#更新包,目标出现短暂检测不出使用上一个位置的值
        pyb.delay(1)#延迟再拉低P0,发送完毕,在示波器下可看出P0为高电平时,有UART3的发送引脚有电平变化即数据发送
        single_out.low()
    展开全文
  • OpenMV图像处理的方法1

    2020-04-22 23:47:12
    OpenMV图像处理的方法1,感光元件,基本运算,统计信息,画图。

    OpenMV图像处理的方法

    图像处理这一部分在Maixpy里面也接触过,一次生二次熟,刚好查漏补缺一下啊,这个OpenMv的博客肯定是那个长头发的姐姐写的,说话方式和语气词都和视频里面一样,而且只有女生才会写的这么细吧,太适合小白我了,啊哈,继续学习。

    感光元件

    sensor模块,是用于设置感光元件的参数。基本上新建一个文件夹的时候,都会自动生成一段代码,就是在设置感光元件的参数,如下:
    在这里插入图片描述

    import sensor#引入感光元件的模块
    # 设置摄像头
    sensor.reset()#初始化感光元件
    sensor.set_pixformat(sensor.RGB565)#设置像素模式为彩色
    sensor.set_framesize(sensor.QVGA)#设置图像的大小
    sensor.skip_frames()#跳过n张照片,在更改设置后,跳过一些帧,等待感光元件变稳      定。
    
    # 一直拍照
    while(True):
        img = sensor.snapshot()#拍摄一张照片,img为一个image对象
    

    注:在使用颜色追踪时,需要关闭自动增益sensor.set_auto_gain()和自动白平衡sensor.set_auto_whitebal() ,开启(True)或者关闭(False)。

    除了开头常用到的,还有以下两点

    设置窗口ROI
    sensor.set_windowing(roi),图像处理中的术语为“感兴趣区”,就是在要处理的图像中提取出的要处理的区域。
    如下,选取高分辨率区域。

    sensor.set_framesize(sensor.VGA) # 高分辨率
    sensor.set_windowing((640, 80)) #取中间的640*80区域
    

    设置翻转
    水平方向翻转:sensor.set_hmirror(True)
    垂直方向翻转:sensor.set_vflip(True)

    图像的基本运算

    获取/设置像素点

    获取像素点 image.get_pixel(x, y)
    对于灰度图: 返回(x,y)坐标的灰度值
    对于彩色图: 返回(x,y)坐标的(r,g,b)的tuple

    设置像素点 image.set_pixel(x, y, pixel)
    eg :

    img = sensor.snapshot()
    img.get_pixel(10,10)
    img.set_pixcel(10,10,(255,0,0))#设置坐标(10,10)的像素点为红色(255,0,0)
    

    获取图像的宽度和高度

    image.width() 返回图像的宽度(像素)
    image.height() 返回图像的高度(像素)
    image.format() 灰度图会返回 sensor.GRAYSCALE,彩色图会返回 sensor.RGB565。
    image.size() 返回图像的大小(byte)

    感觉又强制性得复习了单词,英语在手,天下所有啊。
    在这里插入图片描述

    图像的运算

    image.invert() 取反,对于二值化的图像,0(黑)变成1(白),1(白)变成0(黑)。

    注:图像可以是另一个image对象,或者是从 (bmp/pgm/ppm)文件读入的image对象。两个图像都必须是相同的尺寸和类型(灰度图/彩色图)。

    image.nand(image) 与另一个图片进行与非(NAND)运算。

    image.nor(image) 与另一个图片进行或非(NOR)运算。

    image.xor(image) 与另一个图片进行异或(XOR)运算。

    image.xnor(image) 与另一个图片进行异或非(XNOR)运算。

    image.difference(image) 从这张图片减去另一个图片。比如,对于每个通道的每个像素点,取相减绝对值操作。这个函数,经常用来做移动检测

    图像的统计信息Statistics

    roi的格式是(x, y, w, h)的tupple.
    x:ROI区域中左上角的x坐标
    y:ROI区域中左上角的y坐标
    w:ROI的宽度
    h:ROI的高度
    roi是目标区域。注意,这里的roi,bins之类的参数,一定要显式地标明,
    eg:

    img.get_statistics(roi=(0,0,10,20))
    

    注:img.get_statistics((0,0,10,20)),ROI不会起作用
    长发姐姐已经总结得很通俗了,我就搬过来记录一下。
    灰度
    statistics.mean() 返回灰度的平均数(0-255) (int)。你也可以通过statistics[0]获得。
    statistics.median() 返回灰度的中位数(0-255) (int)。你也可以通过statistics[1]获得。
    statistics.mode() 返回灰度的众数(0-255) (int)。你也可以通过statistics[2]获得。
    statistics.stdev() 返回灰度的标准差(0-255) (int)。你也可以通过statistics[3]获得。
    statistics.min() 返回灰度的最小值(0-255) (int)。你也可以通过statistics[4]获得。
    statistics.max() 返回灰度的最大值(0-255) (int)。你也可以通过statistics[5]获得。
    statistics.lq() 返回灰度的第一四分数(0-255) (int)。你也可以通过statistics[6]获得。
    statistics.uq() 返回灰度的第三四分数(0-255) (int)。你也可以通过statistics[7]获得。

    LAB三个通道:

    l_mean,l_median,l_mode,l_stdev,l_min,l_max,l_lq,l_uq,
    a_mean,a_median,a_mode,a_stdev,a_min,a_max,a_lq,a_uq,
    b_mean,b_median,b_mode,b_stdev,b_min,b_max,b_lq,b_uq,
    平均数,中位数,众数,标准差,最小值,最大值,第一四分数,第三四分数。

    例程:检测左上方的区域中的颜色值(摄像头寻找维尼眼睛晃动了,颜色值不稳定)
    在这里插入图片描述

    画图

    比如用在表示已找到的颜色模块。这个和那个寻找绿色的例程很像。其中的color关键字必须显示的标明color=

    image.draw_line((10,10,20,30), color=(255,0,0))
    image.draw_rectangle(rect_tuple, color=(255,0,0))
    

    画线
    image.draw_line(line_tuple, color=White) 在图像中画一条直线。颜色默认为白色。
    line_tuple的格式是**(x0, y0, x1, y1)**,意思是(x0, y0)到(x1, y1)的直线。
    画框
    image.draw_rectangle(rect_tuple, color=White) 在图像中画一个矩形框。
    rect_tuple 的格式是 (x, y, w, h)
    画圆
    image.draw_circle(x, y, radius, color=White) 在图像中画一个圆。
    x,y是圆心坐标。
    radius是圆的半径。
    画十字
    image.draw_string(x, y, text, color=White) 在图像中写字 8x10的像素。
    x,y是坐标。
    使用\n, \r, and \r\n会使光标移动到下一行。
    text是要写的字符串。

    例程:

    import sensor, image, time
    
    sensor.reset() # 初始化摄像头
    sensor.set_pixformat(sensor.RGB565) # 格式为 RGB565.
    sensor.set_framesize(sensor.QQVGA)
    sensor.skip_frames(10) # 跳过10帧,使新设置生效
    while(True):
        img = sensor.snapshot()         # Take a picture and return the image.
        img.draw_line((20, 30, 40, 50))
        img.draw_line((80, 50, 100, 100), color=(255,0,0))
        img.draw_rectangle((20, 30, 41, 51), color=(255,0,0))
        img.draw_circle(50, 50, 30)
        img.draw_cross(90,60,size=10)
        img.draw_string(10,10, "hello world!")
    

    在这里插入图片描述

    展开全文
  • OpenMV图像处理 最大类间方差法的实现 import sensor, image, time, math, pyb led = pyb.LED(3) # Red LED = 1, Green LED = 2, Blue LED = 3, IR LEDs = 4. def senser_init():

    OpenMV图像处理 最大类间方差法的实现

    import sensor, image, time, math, pyb
    
    
    led = pyb.LED(3)                          # Red LED = 1, Green LED = 2, Blue LED = 3, IR LEDs = 4.
    
    
    def senser_init():                         # 摄像头传感器初始化函数
        sensor.reset()                         # Initialize the camera sensor.
        sensor.set_pixformat(sensor.GRAYSCALE) # use grayscale.
        sensor.set_framesize(sensor.QQVGA)     # use QQVGA for speed.
        sensor.skip_frames(30)                 # Let new settings take affect.
        sensor.set_auto_gain(True)             # must be turned off for color tracking
        sensor.set_auto_whitebal(True)         # must be turned off for color tracking
        return;
    
    
    def hardware_init():
        led.on()            #亮灯
        time.sleep(100)     #延时150ms
        led.off()           #暗灯
        time.sleep(100)
        return;
    
    
    def Maximum_interclass_variance_method(grayFrame):
        w = 0
        avgValue = 0
        t = 0
        maxVariance = 0
        statistics_data = grayFrame.get_statistics()
        u = statistics_data.mean()
        histogram_data = grayFrame.get_histogram()    #获取灰度直方图
        histogram_bins = histogram_data.bins()   #获取灰度直方图的列表
        for i in range(len(histogram_bins)):
            w += (histogram_bins[i]+0.0000001)
            avgValue  += i * (histogram_bins[i]+0.0000001)
            t = avgValue/w - u
            variance = t * t * w /(1 - w)
            if(variance > maxVariance):
                maxVariance = variance;
                threshold = i;
        return threshold
    
    
    #主函数
    hardware_init();
    senser_init();
    
    
    while(True):
        img = sensor.snapshot()
        h = Maximum_interclass_variance_method(img);
        #histogram_data = img.get_histogram()    #获取灰度直方图
        #histogram_bins = histogram_data.bins()   #获取灰度直方图的列表
        print(h)
    
    推荐牛人链接:http://www.lowfet.com/

    展开全文
  • Python介绍1、编程语言:用任何编程语言来开发程序,都是为了让计算机干活,比如下载一个MP3,编写一个文档等等,而计算机干活的CPU只认识机器指令,所以,尽管不同的编程语言差异极大,最后都得“翻译”成CPU可以...

    Python介绍

    1、编程语言:用任何编程语言来开发程序,都是为了让计算机干活,比如下载一个MP3,编写一个文档等等,而计算机干活的CPU只认识机器指令,所以,尽管不同的编程语言差异极大,最后都得“翻译”成CPU可以执行的机器指令(01指令)。而不同的编程语言,干同一个活,编写的代码量,差距也很大。

    比如,完成同一个任务,C语言要写1000行代码,Java只需要写100行,而Python可能只要20行。

    所以Python是一种相当高级的语言。

    然而,你也许会问,代码少还不好?

    代码少的代价是运行速度慢,C程序运行1秒钟,Java程序可能需要2秒,而Python程序可能就需要10秒。

    2、目前来看,Python是一种很常用的语言,在图像处理,机器学习,网络编程中都使用非常广。而且Python是一个非常容易上手的语言,如果你有其他语言编程基础(例如C,C++,Java),会更容易上手。

    3、用Python可以做什么?

    可以做日常任务,比如自动备份你的MP3;可以做网站,很多著名的网站包括YouTube就是Python写的;可以做网络游戏的后台,很多在线游戏的后台都是Python开发的。总之就是能干很多很多事啦。

    Python当然也有不能干的事情,比如写操作系统,这个只能用C语言写;写手机应用,只能用Swift/Objective-C(针对iPhone)和Java(针对Android);写3D游戏,最好用C或C++。

    Python的哲学就是简单优雅,尽量写容易看明白的代码。



    展开全文
  • OpenMV图像处理的方法4

    2020-04-22 23:41:06
    扫码识别,分类加运用
  • qrcode对象由返回image.find_qrcodes。方法qrcode.corners()返回对象4个角的4(x,y)元组的列表。角落总是从左上角开始按照顺序顺序返回。qrcode.rect()返回一个矩形元组(x,y,w,h),用于image像image.draw_...
  • 详情请参考https://book.openmv.cc/python-background.html 官方教程 ...此处仅作备忘录。...openmv算是我第一次接触到的图像处理入门设备,对于专业不涉及图像处理领域,但是需要应用相关功能的人来...
  • OpenMV图像处理的方法2

    2020-04-22 23:25:46
    OpenMV图像处理的方法2,寻找色块,标记跟踪
  • OpenMV图像处理的方法5

    2020-04-22 23:46:49
    颜色形状识别,分辨不同人脸
  • OpenMV嵌入式图像处理

    2018-03-26 20:22:02
    OpenMV嵌入式图像处理OpenMV中文首页: http://openmv.cc上手教程,详细参数,中文文档,软件下载链接都在http://openmv.cc 论坛是提问的第一选择,论坛地址:https://forum.singtown.com/category/5/openmv-cam...
  • OpenMV图像处理的方法3

    2020-04-22 23:33:30
    模版匹配NCC 需要插上sd卡后进行下列步骤,(注意先插sd卡再上电哦)... 我们可以直接从openmv里面截取一个模板图像,可以先运行helloworld.py例程,让frambuffer显示出图像,然后进行截取。 2.转成pgm格式 选择 s...
  • openmv源码

    2020-07-10 10:41:42
    openmv源码 已经通过编译。可以学习图像相关算法和python解析器的原理实现
  • 这两天本人利用周末时间粗略的学习一下openmv的使用,目的是用openmv图像处理数据并通过串口发送数据给STM32F103的单片机,并且用TFTLCD显示屏打印数据。在学习的过程中遇到了一些问题且成功解决,下面将讲述其中的...
  • blob对象由返回image.find_blobs。方法blob.rect()返回一个矩形元组(x,y,w,h),用于image像image.draw_rectangleblob边界框之类的其他方法。blob.x()返回blob的边界框x坐标(int)。你也可以[0]在这个对象上...
  • 中国第二产业占GDP比重超过40%,从业人数超过2亿人,在国家经济转型的大形势下,未来第二产业的从业人数必然会继续减少,而工业是国家经济发展命脉,如何在人工成本增加,从业人员减少的情况下保持工业良好发展,是...
  • import sensor #import the sensor #the settings of camera sensor.reset() #startup the sensor sensor.set_pixformat(sensor.RGB565) #set color sensor.set_framesize(sensor.QVGA) #set size ...
  • 机器视觉与openMV

    2018-01-16 20:35:40
    机器视觉系统是指通过机器视觉产品(即图像摄取装置,分 CMOS 和CCD 两种)将被摄取目标转换成图像信号,传送给专用的图像处理系统,得到被摄目标的形态信息,根据像素分布和亮度、颜色等信息,转变成数字化信号;...
  • 物致DIY:OpenMV4——比OpenMV3更快,更高,更强的图像识别DIY神器来了! 2018年10月26日 10:16:36 物致-皈依 阅读数:762 版权声明:本文为博主原创文章,未经博主允许不得转载。 ...
1 2 3 4 5 ... 17
收藏数 338
精华内容 135