2

我正在使用 matlab 的int8函数将双精度数转换为整数。但是,当我的程序运行大量值时,它的性能会有些差。对于大约 1400 万次执行,此函数大约需要 3 分钟,并且是迄今为止我的程序中最繁重的部分。

我想知道是否有办法避免这种情况。

我将尝试一些数学运算,并通过其他试验更新问题。

这是代码片段:

pixel_value = int8(pixel_value) + 1;

性能截图

4

1 回答 1

4

由于您只是将pixel_value其用作 的索引histogram,因此您可以使用floor而不是以int8相同的方式截断小数部分。

在您的示例中,您表示正值,但如果您期望负值,则可以使用fix.

但这似乎并不快......嗯。

于 2013-11-06T02:09:40.963 回答