首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FastCV腐蚀/膨胀参数

FastCV腐蚀/膨胀参数
EN

Stack Overflow用户
提问于 2012-08-15 13:25:03
回答 1查看 2.3K关注 0票数 2

我在安卓设备上同时使用OpenCV和FastCV来执行一些图像处理操作。在对帧进行阈值处理后,在感兴趣的区域附近留下了一幅含有中等数量黑白噪声的二值图像。

执行侵蚀,然后对图像的膨胀给我一个几乎没有噪音的图像,可以用于进一步的处理,但上述两个库都有他们的缺点。

OpenCV

代码语言:javascript
复制
Mat element = getStructuringElement(MORPH_RECT, Size(2 * erosionSize + 1, 2 * erosionSize + 1), Point(erosionSize, erosionSize));
erode(in, in, element);
element.release();

请原谅我的神奇数字,但我对OpenCV的腐蚀/扩展的简单调用如下所示。然后,我可以修改腐蚀尺寸/扩展尺寸参数,以调整功能在消除噪音方面的侵略性。问题出在哪里?在这里,性能是最重要的,而且这个函数运行得比我想要的要慢得多。

FastCV

代码语言:javascript
复制
fcvFilterErode3x3u8_v2 (const uint8_t *__restrict src, unsigned int srcWidth, unsigned int srcHeight, unsigned int srcStride, uint8_t *__restrict dst, unsigned int dstStride)

上面的原型是FastCV的侵蚀实现,在那里没有参数来调整侵蚀的大小。考虑到FastCV已经为移动架构进行了优化,而且我怀疑它实际上使用了我正在测试的Galaxy中的GPU,这个功能比上面的要快得多。然而,我需要循环并多次运行在同一帧上,以达到相同程度的侵蚀,从而牺牲了过程中的任何性能效益。

是否有人知道:

  • 在任一API中可能遗漏的任何方法,这些API将以可调大小参数快速执行。
  • 任何其他库,如果包含符合这些需求并具有相当许可的许可的函数。
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-16 08:11:59

如果您的目的是系统地对这两种操作(侵蚀和膨胀)进行系统的处理,并且如果您对这两种操作都使用相同的参数大小,那么您可能想尝试使用opencv的专用函数来应用一个开口:

hats.html

从数学上讲,这相当于执行和侵蚀,然后是扩展,但开放的优化实现可以更快地完成这两个操作,通过先后应用这两个操作。

免责声明:我还没有检查opencv的那些操作的实现,但是如果您还没有这样做的话,您会想试一试。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11970093

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档