在 STM32 上处理图像 - C

Posted

技术标签:

【中文标题】在 STM32 上处理图像 - C【英文标题】:Processing an image on STM32 - C 【发布时间】:2019-10-08 09:18:51 【问题描述】:

我正在使用 C 在嵌入式 STM32H7 平台上进行一些 blob 分析。

您认为实现这一目标的最佳方法是什么?是否可以将 openCV 移植到 STM32 并使用这些功能?假设我只想使用自适应阈值,是为此编写自己的代码还是使用一些已经存在的库更好?

只是指出我有义务使用 C。我知道一些用于 STM32 的 Python 库,但我必须在这个项目中使用 C。

谢谢!

【问题讨论】:

自适应阈值处理非常简单。如果您知道它是如何完成的,我敢打赌实现它会比移植像 OpenCV 这样的大型库更快。 OpenCV 也是 C++,而不是 C。 如果你想让自己的自适应阈值查找“Otsu的方法”,这是一个相当标准的算法。作为背景,它假设双峰数据并减少类内方差。您的确切答案在很大程度上取决于您的确切设置。你是如何读取数据的,是RGB,HSY吗?您是否按颜色查找斑点?灰度?所有这些信息都会改变解决方案。如果您可以使用详细信息和图像缓冲区的代码更新您的问题,这将有助于其他人了解您的问题 ***.com 不是免费的设计服务。 【参考方案1】:

编写自己的函数是微不足道的。我在这个主题上做了一些小事,我们有大约 8 周的时间来做这件事。

移植 OpenCV 不是一个好主意。它在任何地方都使用动态内存分配,这使得保守的使用变得不可能,并且是用 C++ 编写的。

自适应阈值设置最多需要一周的时间。

【讨论】:

是的,这是真的。实现自适应阈值并不难。 (考虑到我已经使用 mbed 完成了它,这使得它更容易,让我专注于实现算法)。正如 Tarick 所说,不要使用动态内存【参考方案2】:

你不应该尝试从零开始实现一切

首先尝试开源实现。如果您可以考虑某事,那意味着其他人已经这样做了。别人已经做到了。

查看此链接了解详情。

http://shervinemami.info/embeddedVision.html

【讨论】:

以上是关于在 STM32 上处理图像 - C的主要内容,如果未能解决你的问题,请参考以下文章

STM32内存受限情况下摄像头驱动方式与图像裁剪的选择

stm32+AMG8833+VS2015 C#上位机图像显示

我想用STM32连接USB摄像头实现图像采集,再用GPRS传输图像,麻烦给推荐一款STM32开发板!!谢谢~~

图像取模后在STM32液晶屏上显示出乱码,啥原因一般都是!!!

STM32使用IIC总线通讯协议在OLED屏幕上显示字符串汉字图像(硬件IIC)

STM32H750获取OV7670摄像头图像及上位机解码(一维码&二维码)