मेरे पास pcl::PointXYZRGBA
प्रकार का एक बिंदु है। मैं अपने आरजीबी मूल्यों को असाइन/कैसे बदल सकता हूं?मैं पीजीएल :: प्वाइंटएक्सवाईजेआरजीबीए के आरजीबी मूल्य कैसे बदल सकता हूं?
xyz निर्देशांक बदलने के लिए, मैं बस point.x = some_value
कर सकता हूं।
मेरे पास pcl::PointXYZRGBA
प्रकार का एक बिंदु है। मैं अपने आरजीबी मूल्यों को असाइन/कैसे बदल सकता हूं?मैं पीजीएल :: प्वाइंटएक्सवाईजेआरजीबीए के आरजीबी मूल्य कैसे बदल सकता हूं?
xyz निर्देशांक बदलने के लिए, मैं बस point.x = some_value
कर सकता हूं।
आप pcl::PointXYZRGBA
के बजाय pcl::PointXYZRGB
का उपयोग कर सकते हैं। मुझे लगता है कि वे दोनों एक ही करते हैं। और फिर एक बिंदु लाल (255,0,0) रंग करने के लिए, आप कर सकते हैं:
pcl::PointXYZRGB point = pcl::PointXYZRGB(255, 0, 0);
और xyz निर्देशांक तो क्रमशः सौंपा जा सकता है:
point.x = x;
point.y = y;
point.z = z;
संपादित करें: या यदि आप pcl::PointXYZRGBA
साथ रहना है, तो आप
pcl::PointXYZRGBA point;
uint8_t r = 255;
uint8_t g = 0;
uint8_t b = 0;
int32_t rgb = (r << 16) | (g << 8) | b;
point.rgba = *(float *)(&rgb); // makes the point red
आपका दूसरा भाग गलत है - '.rgba' एक 'uint32_t' – Eric
कर सकते हैं या बस का उपयोग
point.r = 255;
point.b = 0;
point.g = 0;
point.a = 255;
है यह सही उत्तर होना चाहिए। सरल और स्पष्ट। – Shaowu
कक्षा 'प्वाइंट' Pcl दस्तावेज़ में मौजूद नहीं है ... मैं केवल [pcl :: PointXYZRGBA] (http://docs.pointclouds.org/trunk/structpcl_1_1_point_x_y_z_r_g_b_a.html) ढूंढ सकता हूं। – Synxis
@ सिंक्सिस: आप सही हैं। मैं क्लास पीसीएल :: प्वाइंटएक्सवाईआरआरजीबीए के 'प्वाइंट' नामक एक उदाहरण का जिक्र कर रहा हूं। –
क्या आप 'getRGBEigen3i()', या 'point.r' (और' g'and 'b' के लिए) का उपयोग नहीं कर सकते हैं? – Synxis