Image processing 如何将x、y像素映射到世界坐标系
在我的项目中,我计算x,y的像素和Z的距离相机在毫米。所以我想利用深度来计算x,y,z 谁能告诉我怎么做 我有以下资料:Image processing 如何将x、y像素映射到世界坐标系,image-processing,opencv,Image Processing,Opencv,在我的项目中,我计算x,y的像素和Z的距离相机在毫米。所以我想利用深度来计算x,y,z 谁能告诉我怎么做 我有以下资料: x、 从图像中获取y像素 与摄影机和对象的距离 距离相机和物体的距离不断变化,因为我从不同的距离拍摄图像 如果图像坐标中有x,y,摄像机矩阵,世界坐标中有z,那么需要将图像坐标放入齐次向量中,乘以摄像机矩阵的倒数,然后乘以z_世界坐标。一开始可能不直观的是,世界坐标中的单位并不重要。在乘以相机矩阵的倒数后,定义了无单位的x/z比。将结果单位乘以z_world。你可以用毫米,英
如果图像坐标中有x,y,摄像机矩阵,世界坐标中有z,那么需要将图像坐标放入齐次向量中,乘以摄像机矩阵的倒数,然后乘以z_世界坐标。一开始可能不直观的是,世界坐标中的单位并不重要。在乘以相机矩阵的倒数后,定义了无单位的x/z比。将结果单位乘以z_world。你可以用毫米,英寸,英里,任何单位来测量它,你得到的向量将有相同的单位
cv::Matx31f world_cord(x_im,y_im,1); //here measured in pixels
world_cord = camera_matrix.inv()*world_cord; //representing a ratio x/z,y/z
world_cord *= z_world; //now x,y,z are measured in units of z_world
世界线现在包含x世界、y世界、z世界 你有校准过的照相机吗?你已经知道到物体的距离了吗?那么你已经知道Z了,你想要x和y吗?@hammer是的,我的问题是Z是以mm为单位计算的,现在我想要x,y w.r.t距离。x,y是以像素为单位从图像中获取的,是的,相机经过校准,我有一个内在的矩阵,我想要得到x,y,mm,而不是像素。有没有办法用深度来转换它们这就是它的作用。x_world和y_world在末尾以mm为单位进行测量