-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