STM32图像处理库STM32IPL是用C语言编写的开源软件库,提供图像处理和计算机视觉功能,加快在关注半导体(ST)的STM32微控制器上开发视觉分析的应用。该产品作为最新版本(v3.1.0)FP-AI-VISION1功能套件中的STM32Cube中间件发布。

1666334796922400.png

一般来说,视觉深度学习模型的输入与相机拍摄的图像不同,深度学习输入与维度和图像格式不同,因此需要提前处理原始图片,如缩放、图像格式转换和标准化。STM32IPL提供了一套实用、现成的软件,可简化和加快图像预处理功能的开发。

主要特征

STM32IPL的主要特性包括:

-为开发人员提供实用、现成的软件套件,节省开发STM32平台图像处理和计算机视觉应用程序的时间。

-在使用嵌入式系统的图像处理和计算机视觉功能时,满足最常见的需求。

-最大限度地提高软件包和隐藏,从而简化和加快应用程序开发,降低常规图像处理的复杂性,提高计算机视觉计算的能效。

STM32IPL根据不同的功能在不同的模块上配置,如下图所示。

1666334825118322.png

这些模块可分为以下几组:

-库初始化和初始化组删除(深绿色模块)

-创建、初始化和发布映像等组(浅绿色模块)

-图像转换功能,如过滤、颜色转换、缩放、形态操作和warping(深黄色模块)

-特征和对象捕获功能分组,如角和斑点传感器、霍夫变换等(浅黄色模块)

-图形处理功能分组,例如直线、矩形、椭圆等(深蓝色模块)

-图像读写功能分组(浅蓝色模块)

-在图像内绘制图形元素的功能组(深灰色模块)

-最后一组包含额外的模块(浅灰色模块),如总体图像和图像统计计算

下图是STM32IPL的图像处理功能示例。

原始图片:

image.png

高斯滤波处理后:

image.png

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

image.png

翻转镜子后:

image.png

旋转180度后:

image.png

软件体系结构

使用STM32IPL的典型STM32应用程序软件体系结构包括:

1666334915792211.png

STM32IPL位于BSP和HAL的中间件中,除了以下两个利用部分STM32 MCU提供的硬件功能外,大多数STM32IPL功能不受平台影响:

-对文件执行读/写操作的I/o功能。表示处理支持的图像文档格式(例如BMP、PPM、PGM、JPEG)的两个读/写函数。上述函数的操作取决于第三方开源库(STM32Cube中间件组件的一部分),如下所示:

O FatFs在FatFs文件系统中提供读/写功能。例如,可以读取和写入microSD卡上的图像。

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

-使用此函数,STM32 DMA2D可以在屏幕上快速绘制图像。其中,DMA2D是适合图形工作的硬件加速器。

高级功能示例

本章以霍夫变换和物体检测两个高级功能为例,讨论其工作原理及其对图像的影响。

霍夫变换

希望变换是一种能够检测简单形状的特征捕获方法,“简单”是指可以用几个参数表示的模式。例如,直线可以用“坡率”、“截断点”两个参数表示,圆可以用“中心坐标”和“半径”三个参数表示。因此,霍夫变换技术非常适合在图像中查找直线和圆等图案。

STM32IPL支持两种希望转换功能。

-STM32Ipl_FindLines()通过霍夫变换查找图像中的所有线条。

-STM32Ipl_FindCircles()通过霍夫变换定位图像中的圆。

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

原始图片:

1666334942397190.png

从希望转换的线条检测结果:

1666334967778564.png

但是,检测到的线的质量在很大程度上取决于边缘贴图,因此,实际上,希望转换技术需要控制环境以获得一致的边缘贴图,或者通过培训边缘检测器找到所需的特定类型的边。大卫亚设(David Assell),Northern Exposure(美国电视新闻)。

下面两张照片是使用霍夫变换检测圆的结果,结果在很大程度上取决于可用边的质量和检测所需圆大小的先验知识。

原始图片:

image.png

希望转换后的圆形检测结果:

1666335004926717.png

物体检测

物体检测是计算机视觉技术,可以识别图像或电影中的物体、识别位置的物体,经常使用驾驶、机器人、人脸识别等情况。

STM32IPL提供三种对象检测功能:

-STM32Ipl_LoadFaceCascade()正面面部串行加载。

-STM32Ipl_LoadEyeCascade()眼睛串行加载。

-STM32Ipl_DetectObject()检索特定串行说明的对象。

下图显示了人脸检测和眼睛检测两个功能的结果。

原始图片:

image.png

眼睛和脸部检测后的结果:

1666335042141757.png

要获得此STM32IPL库,必须从FP-AI-VISION1 _ v 3 . 1 . 0 middlewaresststm 32 _ imageproprov下载最新的FP-AI-vision 1功能软件包

-STM32图像处理库简介

推荐文章

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注