【发布时间】:2013-03-12 14:18:50
【问题描述】:
在加速某些进程的过程中(无法命名,抱歉),我尝试创建一个
cv::Mat_<uchar> discretization;
现在当我得到一个浮动的深度图时
cv::Mat_<float> depth_map;
discretization = depth_map / resolution_mtr;
其中 resolution_mtr 是一个浮点数。目前它的值为0.1。 当我这样做时,对于深度图中的 0.48 值,我得到离散化值 5。我的理解是它应该是 4 。我想它是四舍五入到最近的 uchar。有没有办法在不进入 for 循环的情况下解决这个问题? 基本上我想在离散化中使用底值而不是四舍五入。
【问题讨论】:
-
为什么要将浮点除法的结果赋值给
uchar? -
基本上它是一种分箱值以加快进一步处理的方式
-
我可以使用 int,但我不希望它能解决问题