我正在使用matlab的int8
函数将double转换为整数。但是,当我的程序运行大量值时,它会给性能稍差。对于大约1400万次执行,此功能大约需要3分钟,并且是我计划中最重的部分。
我想知道是否有办法避免这种情况。
我将尝试一些数学操作,并将与其他试验更新问题。
这是代码片段:
pixel_value = int8(pixel_value) + 1;
答案 0 :(得分:4)
由于您只是使用pixel_value
作为histogram
的索引,因此您可以使用floor
代替int8
以相同方式截断小数部分。
在您的示例中,您指出了正值,但如果您预期为负值,则可以使用fix
。
但这似乎并不快......嗯。