1
7
python 2.6现在包括 mulitprocessing 模块(以前 processing 旧版本的python上的模块)。 它与 螺纹加工 模块,但将执行启动到单独的进程中,而不是线程中。这使得python能够利用多个内核/cpu,并且与线程模块方法相比,它可以很好地扩展CPU密集型任务。 |
2
3
如果sobel操作符是CPU绑定的,那么您将无法从多个线程中获得任何好处,因为python没有利用多个核心。 可以想象,您可以分离出多个进程,尽管我不确定这是否适用于处理单个图像。 10秒似乎不是浪费很多时间。如果您担心时间,因为您将要处理许多图像,那么运行多个进程并让每个进程处理图像的单独子集可能会更容易。 |
3
2
我也推荐使用numpy。它不仅可能更快,而且如果使用线程,就不会有全局锁。 我还建议使用Jay建议的多处理。 不管怎样,如果你真的想练习线程,我建议你在C语言中玩pthreads。pthreads非常简单,可以用于基本情况,而且可以在所有地方使用。 |
4
0
像Sobel运算符这样的批量矩阵操作,通过(正确地)使用 Matlab/Octave . 有可能 NumPy 可以为矩阵/阵列操作提供类似的加速。 |
5
0
如果您想用python进行并行编程,那么python mutliprocessing是正确的选择。如果没有python 2.6(例如,如果使用Ubuntu,则没有),则可以使用 Google code backported 多处理版本。它是pypi的一部分,这意味着您可以使用easyinstall(它是ubuntu中python setuptools包的一部分)轻松地安装它。 |
Aphire · 在另一个图像的顶部使用不透明度分层图像打开CV 8 年前 |
tippenein · 基于RGB值更改图像的颜色 12 年前 |
501 - not implemented · 如何制作木炭拉丝过滤器 12 年前 |