【问题标题】:Is there any other function similar to slic() function of python?有没有其他类似于 python 的 slic() 函数的函数?
【发布时间】:2018-04-17 15:06:32
【问题描述】:

我正在做一个关于在 python 中应用超像素方法的项目。我使用了 slic() 函数,但由于图像非常大,程序需要几分钟才能运行所有代码。我注意到 slic() 函数只使用 1 个 CPU。当我使用 MATLAB 执行与 python 中相同的操作时,我使用名为 superpixels() 的函数,该函数使用我计算机的所有资源(也包括 GPU),这意味着运行所有代码需要几秒钟.

所以,我想知道如何改进 python 的 slic() 函数以使其更快。 slic() 函数的代码在哪里可以得到?

或者我做错了什么?

【问题讨论】:

  • 简而言之,我想转换 slic() 函数以使其像 MATLAB 的 superpixels() 函数一样更快,我的意思是,使用我计算机的所有资源(CPU 和 GPU 在同时)
  • python 内置函数没有 slic() 函数,你需要指定你正在使用的库
  • 抱歉这个错误。要使用 slic() 我写了以下内容: from skimage.segmentation import slic

标签: python-3.x superpixels


【解决方案1】:

我没有解决方案,但我有一些建议:

  1. 如果你真的想查看函数的代码,可以在 git-hub 存储库中找到here。但是您可能应该查看已经并行执行此算法的其他实现,因为将单线程转换为并行可能比将现有算法从另一种语言转换为 python 需要更多时间
  2. 或者,您可以在 c/c++ 中实现,然后编写一个包装模块供它在 python 中使用。
  3. 无论什么纯 python 总是会运行得更慢,所以即使你决定编写自己的实现,你也应该使用cython

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-17
    • 2020-11-04
    • 2019-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多