-1
我可以用一种颜色画出3D点,比如说绿色。 但我无法将单独的颜色应用到每个点。个别颜色的点云
bool applyColor = true;
glPointSize(3);
glBegin(GL_POINTS);
glColor3ub(0,255,0);
for(auto vpMP : vpMPs){
if(applyColor){
cv::Vec3b rgb = vpMP->rgb;
glColor3ub(rgb[2], rgb[1], rgb[0]);
cout << (int)rgb[0] << ", " << (int)rgb[1] << ", " << (int)rgb[2] << endl; // Prints out right values
}
cv::Mat pos = vpMP->GetWorldPos();
glVertex3f(pos.at<float>(0),pos.at<float>(1),pos.at<float>(2));
}
glEnd();
任何线索?
glVertex3f工作正常,点显示,他们应该是。
With applyColor = false,点显示为绿色。
随着applyColor = TRUE,分显示黑色的时候,他们应该是RGB。顺便说一句,rgb [i]是无符号字符。
谢谢!
那么你在'cout'中看到了什么? 'vpMP-> rgb'中有什么值? – ybungalobill
cout打印这样的行:'244,98,12'全部纠正0到255的rgb值。 –
这意味着问题出现在你没有显示的代码中。请发布[MCVE](http://stackoverflow.com/help/mcve)。 – ybungalobill