STM32 图像处理函式库介绍

出处:维库电子市场网 发布于:2022-11-02 15:43:22

    STM32 图像处理函式库STM32IPL是由 C 语言所编写的开放原始码软件函式库,提供了图像处理和计算机视觉功能,能加快在意法半导体(ST)的STM32 微控制器上开发视觉分析的应用。本产品在版 (v3.1.0)FP-AI-VISION1 功能套件中以STM32Cube 中间件的形式推出。

    一般来说,视觉深度学习模型的输入不同于相机拍摄的图像,深度学习输入因为具有不同维度及图像格式,会需要预先处理原图,例如缩放、影像格式转换和标准化等。而STM32IPL可提供实用且现成的软件套件,以简化及加速影像预处理功能的开发。
    主要特色
    STM32IPL的主要特色如下:
    -为开发人员提供实用且现成的软件套件,节省开发STM32平台图像处理和计算机视觉应用的时间。
    -满足使用嵌入式系统的图像处理及计算机视觉功能时常见的需求。
    -透过的封装和隐藏,简化且加速应用程序的开发、降低常见之图像处理的复杂度,并提升计算机视觉运算的能效。
    STM32IPL依不同功能配置于各种模块中,如下图所示:

    这些模块可被划分至以下分组:
    - 函式库初始化和去初始化分组(深绿模块)
    - 影像建立、初始化和发布等分组(浅绿色模块)
    - 影像转换功能,如滤波、色彩转换、缩放、morphological operators及warping等分组(深黄色模块)
    - 特征和对象撷取功能,如边缘和斑点侦测器以及霍夫转换等分组(浅黄色模块)
    - 线条、长方形和椭圆形等图形操作功能分组(深蓝模块)
    - 影像读取和写入功能的分组(浅蓝模块)
    - 在影像内绘制图形元素的功能分组(深灰模块)
    - 一个群组包含计算完整图像和图像统计等其他模块(浅灰模块)
    下方照片为STM32IPL的图像处理功能范例:
    原图:

    经高斯滤波器处理后:

    经坎尼边缘侦测算法处理后:

    镜面翻转后:

    180° 旋转后:

    软件架构
    采用STM32IPL的典型STM32应用程序软件架构如下所示:

    STM32IPL位于BSP和HAL的中间件内,除了下列两种利用了部分STM32 MCU所提供的硬件功能之外,绝大部分的STM32IPL功能皆不受平台影响:
    -在档案上执行读取/写入作业的I/O功能。指的是两个用于处理受支持影像文件格式 (如 BMP、PPM、PGM 和 JPEG)的读取/写入函式。上述函式的运作仰赖于下列第三方开放原始码函式库(属于STM32Cube中间件组件的一部分):
    oFatFs提供在FatFS文件系统上的读取/写入操作功能。例如读取和写入 microSD卡内的影像。
    oLibJPEG提供JPEG编码和译码功能。
    -此函式能让STM32 DMA2D在屏幕上快速绘制图像,其中DMA2D为适用于图形作业的硬件加速器。
    高阶功能范例
    本章节以霍夫转换和物体侦测两项高阶功能作为范例,说明其运作原理及对于影像的作用:
    霍夫转换
    霍夫转换是一种能侦测简易形状的特征撷取方法,而 “简易” 是指可以用少数参数来表示的图案,例如:一条线可由斜率、截距两项参数做表示,而圆形则是以圆心坐标和半径三项参数做表示。因此,霍夫转换技术十分适用于在图像中找出像是线条、圆形的图案。
    STM32IPL支持两种霍夫转换功能:
    -STM32Ipl_FindLines() 可透过霍夫转换找出影像中所有线条。
    -STM32Ipl_FindCircles() 则可透过霍夫转换找出影像中的圆形。
    下方两张照片展示了使用霍夫转换侦测线条的结果。
    原图:

    经过霍夫转换的线条侦测后结果:

    然而,侦测到的线条质量有很大程度取决于edge map,因此在实务上,使用霍夫转换技术的前提是要能够控制环境,从而得出一致的edge map,或是透过训练边缘侦测器,找出所需的特定边缘种类。
    下方两张照片为使用霍夫转换侦测圆形的结果,结果同样有很大程度取决于可用边缘的质量,以及对于所需侦测圆形尺寸的先备知识。
    原图:

    经过霍夫转换的圆形侦测后结果:

    物体侦测
    物体侦测是一种计算机视觉技术,可辨识和定位图像或影片中的物体,此技术常用于自驾车、机器人、人脸辨识等情境。
    STM32IPL提供三种物体侦测功能:
    -STM32Ipl_LoadFaceCascade() 载入正面脸部串行。
    -STM32Ipl_LoadEyeCascade() 载入眼部串行。
    -STM32Ipl_DetectObject() 侦测特定串行描述的对象。
    下方照片展示了脸部侦测和眼部侦测两项功能的结果:
    原图:

    经过眼部和脸部侦测后结果:

    若欲取得此STM32IPL函式库,使用者必需的FP-AI-VISION1功能套件,存取路径如下:
    FP-AI-VISION1_V3.1.0\Middlewares\ST\STM32_ImageProcessing_Library\Inc

关键词:STM32 图像

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

上传BOM文件: BOM文件
*公司名:
*联系人:
*手机号码:
QQ:
应用领域:

有效期:
OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:

0571-85317607

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!