我的问题是我目前正在开发的 C++ 框架中的范围界定效率。上下文:我有两个大小相等的数组。其中一个包含来自检测到的点云的点坐标,另一个包含相应的颜色值。出现的问题是颜色值索引与点坐标不完全匹配,因此需要缩放颜色数组。
为了保持系统的效率,建议我使用以下“hack”来避免浮点运算,以便让 shift_row_index 运行得比 x 慢,以便缩放颜色数组索引。不幸的是,顾问目前不可用,我不明白为什么这个解决方案在这种情况下有效。
如果有人可以向我解释一下,你会很好。提前致谢!
int shifted_row_index = (RGB_OFFSET_X << 8);
for (int x = 0, xmax = g_depthMD.XRes(); x < xmax; x += raster_width)
{
shifted_row_index += RGB_SCALE_FACTOR_X;
int rowindex = shifted_row_index >> 8;
rowindex = std::max(std::min(rowindex, (int)(xmax - 1)), 0);
color_pointer[0] = pImageRow[rowindex].nRed;
//....
}