1

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

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

或者也许我做错了什么?

4

1 回答 1

0

好吧,我没有解决方案,但我确实有一些建议:

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