0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

STM32图像处理库介绍

意法半导体中国 来源:意法半导体中国 作者:意法半导体中国 2022-05-05 10:14 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

STM32图像处理库介绍

STM32图像处理库(STM32IPL)是一个用C语言编写的开源软件库,它提供图像处理和计算机视觉功能,以便在STM32微控制器上更快地开发视觉分析应用程序。最近,STM32IPL作为STM32Cube的一个中间件组件, 在FP-AI-VISION1功能包的最新版本(v3.1.0)中一起发布。

众所周知,计算机视觉深度学习模型的输入通常与相机捕获的图像帧不同。深度学习模型的输入可能有不同的维度和不同的图像格式,因此通常需要对原始图像进行一些基本的预处理,例如:调整大小、图像格式转换、归一化等。STM32IPL通过提供一些功能强大且随时可用的软件组件,简化并加速此类图像预处理功能的开发。 主要特性 STM32IPL的关键特性:

为开发人员提供功能强大且随时可用的软件组件,缩短STM32平台上图像处理和计算机视觉应用程序的开发时间;

满足嵌入式系统在图像处理和计算机视觉功能方面最常见的需求;

通过尽可能封装和隐藏典型图像处理和计算机视觉操作的复杂性,简化并加快应用程序的开发。

STM32IPL在功能上被划分为各种模块,如下图所示:

15597940-cc18-11ec-bce3-dac502259ad0.png

这些模块可以虚拟分组在以下宏组中:

库初始化和反初始化组(深绿色模块);

包括图像创建、初始化、释放等功能的组(浅绿色模块);

包括图像变换功能的组,如:过滤、颜色转换、缩放、形态算子、扭曲等(深黄色模块);

包含特征和对象提取功能的组,如:边缘和斑点检测器、霍夫变换等(浅黄色模块);

包括对直线、矩形、椭圆等进行操作的功能组(深蓝色模块);

包括图像读写功能的组(浅蓝色模块);

包括在图像中绘制图形元素的功能组(深灰色模块);

最后一组,包括用于计算积分图像和图像统计的剩余模块(浅灰色模块)。

下图展示了STM32IPL中提供的图像处理功能示例:

原图

1580f010-cc18-11ec-bce3-dac502259ad0.png

高斯滤波后

1596da56-cc18-11ec-bce3-dac502259ad0.png

经过Canny边缘检测算法

15bde920-cc18-11ec-bce3-dac502259ad0.png

镜像翻转后

15d0ce28-cc18-11ec-bce3-dac502259ad0.png

旋转180°后

15ed81da-cc18-11ec-bce3-dac502259ad0.png

软件架构

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

160a5e72-cc18-11ec-bce3-dac502259ad0.png

STM32IPL位于BSP和HAL之上的中间件内。基本上,几乎所有的STM32IPL函数都与平台无关,除了以下两种函数,它们利用了一些STM32 MCU提供的硬件功能,而这些硬件功能只在部分而不是全部STM32 MCU里提供:

✦对文件执行读写操作的I/O函数。特别是用于处理所支持的图像文件格式(如 BMP、PPM、PGM 和 JPEG)的两个读/写函数。这些函数依赖于以下作为STM32Cube中间件组件的第三方开源库:

FatFs,在FatFs文件系统上提供读/写操作。例如,在microSD卡上读写图像。

LibJPEG,提供JPEG编码和解码功能。

✦通过利用STM32 DMA2D(用于图形操作的硬件加速器)在屏幕上快速绘制图像的函数。

高级功能示例

本节将以两个高级功能为例来说明其工作原理以及其应用在图像上的效果:霍夫变换和目标检测。

霍夫变换

霍夫变换是一种特征提取方法,用于检测图像中的线条和圆形等简单形状。这里的“简单”形状是指只需要几个参数就能表示的形状。例如,一条线可以用两个参数(斜率、截距)来表示,而一个圆有三个参数——圆心坐标和半径。霍夫变换在寻找图像中这种形状方面有出色的表现。

STM32IPL支持两种霍夫变换函数:

STM32Ipl_FindLines(),通过霍夫变换找到图像中的所有无限线。

STM32Ipl_FindCircles(),通过霍夫变换在图像中查找圆。

下面两张照片显示了使用霍夫变换进行线条检测的结果。

原图

16235d78-cc18-11ec-bce3-dac502259ad0.png

通过霍夫变换进行线条检测后

166e0990-cc18-11ec-bce3-dac502259ad0.png

请注意,检测到的线的质量很大程度上取决于边缘图的质量。因此,在现实世界中,霍夫变换通常在当您可以控制环境并因此获得一致的边缘图,或者当您可以针对您正在寻找的特定类型的边缘来训练边缘检测器时使用。

下面的另外两张照片显示了使用霍夫变换进行圆检测的结果。同样,结果的质量很大程度上取决于您可以找到的边缘的质量,以及您对要检测的圆的大小有多少先验知识。

原图

16a17348-cc18-11ec-bce3-dac502259ad0.png

通过霍夫变换进行圆检测后

16d3a7c8-cc18-11ec-bce3-dac502259ad0.png

目标检测

目标检测是一种计算机视觉技术,可以识别和定位图像或视频中的对象。常用于自动驾驶汽车、机器人、面部识别等许多应用场景。

STM32IPL提供三种函数用于目标检测:

STM32Ipl_LoadFaceCascade(),加载面部级联。

STM32Ipl_LoadEyeCascade(),加载眼部级联。

STM32Ipl_DetectObject(),检测特定级联描述的对象。

以下照片显示了面部检测和眼部检测功能的结果:

原图

16fcc194-cc18-11ec-bce3-dac502259ad0.png

眼部及面部检测后

171fcaa4-cc18-11ec-bce3-dac502259ad0.png

最后,要获得STM32IPL库,用户需下载最新的FP-AI-VISION1功能包,然后该库便可以在以下路径找到:

FP-AI-VISION1_V3.1.0MiddlewaresSTSTM32_ImageProcessing_Library

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 图像处理
    +关注

    关注

    28

    文章

    1340

    浏览量

    59181
  • STM32
    +关注

    关注

    2305

    文章

    11121

    浏览量

    371180
  • 深度学习
    +关注

    关注

    73

    文章

    5590

    浏览量

    123912

原文标题:AI技术专题之十二:STM32图像处理库介绍

文章出处:【微信号:STMChina,微信公众号:意法半导体中国】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    意法半导体STM32 MCU AI模型再扩容

    近日,意法半导体(ST)发布了新的人工智能模型,并增强了开发项目对STM32 AI模型的支持,以加快嵌入式人工智能应用的原型开发和产品开发。这标志着STM32 AI模型再次增加新的
    的头像 发表于 11-24 10:00 1078次阅读

    NMSIS神经网络使用介绍

    NMSIS NN 软件是一组高效的神经网络内核,旨在最大限度地提高 Nuclei N 处理器内核上的神经网络的性能并最​​大限度地减少其内存占用。 该分为多个功能,每个功能涵盖特定类别
    发表于 10-29 06:08

    NMSIS的使用

    nmsis core、nmsis dsp和nmsis nn三个组件,分别提供了对处理器核心和外设、数字信号处理和神经网络内核的支持。 卷积、激活、池化是卷积神经网络中常用的三种操作,它们分别用于提取
    发表于 10-24 09:58

    STM32标准在Keil5移植rtthread nano后无法显示oled内容是怎么回事?

    STM32F103VET6使用标准,在Keil5上移植rtthread nano后OLED_Update()函数在Sys_Init()中放在board.c中可以执行并且显示出logo图像,使用线程
    发表于 09-22 08:28

    FPGA 加持,友思特图像采集卡高速预处理助力视觉系统运行提速增效

    图像处理图像处理关键环节,可优化数据传输、减轻主机负担,其算法可在FPGA等硬件上执行。友思特FPGA图像采集卡凭借FPGA特性,能缩短
    的头像 发表于 08-13 17:41 793次阅读
    FPGA 加持,友思特<b class='flag-5'>图像</b>采集卡高速预<b class='flag-5'>处理</b>助力视觉系统运行提速增效

    STM32F4标准外设资料

    stm32f4xx.h,标准外设
    发表于 06-08 09:49 5次下载

    基于STM32 HAL与标准的esp8266接入机智云方案(二)

    在《基于STM32HAL与标准的esp8266接入机智云方案(一)》中,我们详细介绍了硬件连接和机智云客户端的创建。本篇将重点讲解如何下载代码、分析下载的代码,并直接使用这些代码连
    的头像 发表于 05-28 18:02 1119次阅读
    基于<b class='flag-5'>STM32</b> HAL<b class='flag-5'>库</b>与标准<b class='flag-5'>库</b>的esp8266接入机智云方案(二)

    STM32开发入门进阶必备!《STM32嵌入式系统开发—基于STM32CubeMX和HAL》新书发布!

    上市。高校教学推荐,STM32入门必读!图书介绍STM32嵌入式系统开发——基于STM32CubeMX和HAL》是一本
    的头像 发表于 04-03 14:54 1367次阅读
    <b class='flag-5'>STM32</b>开发入门进阶必备!《<b class='flag-5'>STM32</b>嵌入式系统开发—基于<b class='flag-5'>STM32</b>CubeMX和HAL<b class='flag-5'>库</b>》新书发布!

    图像采集卡:现代图像处理技术的关键组件

    在现代科技快速发展的背景下,图像处理技术已成为信息技术领域不可或缺的一部分。图像采集卡,作为连接计算机与各种图像采集设备的重要硬件组件,扮演着至关重要的角色。它不仅涉及
    的头像 发表于 02-20 10:42 929次阅读
    <b class='flag-5'>图像</b>采集卡:现代<b class='flag-5'>图像</b><b class='flag-5'>处理</b>技术的关键组件

    FPGA上的图像处理算法集成与优化

    本文详细介绍了多种图像处理技术,包括RG/GB单通道提取、亮度和对比度调整、图像反转、均值滤波、高斯滤波、图像锐化、中值滤波、阈值分割、边缘
    的头像 发表于 02-14 13:46 1154次阅读
    FPGA上的<b class='flag-5'>图像</b><b class='flag-5'>处理</b>算法集成与优化

    FPGA图像处理基础----实现缓存卷积窗口

    像素行与像素窗口 一幅图像是由一个个像素点构成的,对于一幅480*272大小的图片来说,其宽度是480,高度是272。在使用FPGA进行图像处理时,最关键的就是使用FPGA内部的存储资源对像
    的头像 发表于 02-07 10:43 1422次阅读
    FPGA<b class='flag-5'>图像</b><b class='flag-5'>处理</b>基础----实现缓存卷积窗口

    CMOS传感器的图像处理能力

    随着科技的飞速发展,图像处理技术已经成为我们日常生活中不可或缺的一部分。CMOS传感器作为图像捕捉的核心,其图像处理能力直接影响到成像质量。
    的头像 发表于 01-20 15:19 1278次阅读

    如何在STM32CubeMX中集成Flexible Safety RTOS

    使用STM32处理器的用户,可以通过STM32Cube工具生成基础工程,免费评估功能安全操作系统Flexible Safety RTOS二进制了。
    的头像 发表于 01-17 11:31 2262次阅读
    如何在<b class='flag-5'>STM32</b>CubeMX中集成Flexible Safety RTOS

    DFT在图像处理中的作用 DFT在音频信号处理中的应用

    DFT在图像处理中的作用 离散傅里叶变换(Discrete Fourier Transform,简称DFT)是一种将信号从时域转换到频域的数学工具,它在图像处理领域有着广泛的应用。以下
    的头像 发表于 12-20 09:18 1847次阅读