| 177 | } |
| 178 | |
| 179 | void |
| 180 | keyboardCallback (const pcl::visualization::KeyboardEvent& event, void*) |
| 181 | { |
| 182 | if (event.keyDown ()) |
| 183 | { |
| 184 | if (event.getKeyCode () == 'w' || event.getKeyCode () == 'W') |
| 185 | { |
| 186 | window_ += event.getKeyCode () == 'w' ? 1 : -1; |
| 187 | if (window_ < 1) |
| 188 | window_ = 1; |
| 189 | pcl::console::print_info ("Temporal filtering window size: "); |
| 190 | pcl::console::print_value ("%i\n", window_); |
| 191 | grabber_.enableTemporalFiltering (temporal_filtering_, window_); |
| 192 | } |
| 193 | if (event.getKeyCode () == 't' || event.getKeyCode () == 'T') |
| 194 | { |
| 195 | threshold_ += event.getKeyCode () == 't' ? 10 : -10; |
| 196 | if (threshold_ < 0) |
| 197 | threshold_ = 0; |
| 198 | pcl::console::print_info ("Confidence threshold: "); |
| 199 | pcl::console::print_value ("%i\n", threshold_); |
| 200 | grabber_.setConfidenceThreshold (threshold_); |
| 201 | } |
| 202 | if (event.getKeyCode () == 'k') |
| 203 | { |
| 204 | pcl::console::print_info ("Temporal filtering: "); |
| 205 | switch (temporal_filtering_) |
| 206 | { |
| 207 | case pcl::DepthSenseGrabber::DepthSense_None: |
| 208 | { |
| 209 | temporal_filtering_ = pcl::DepthSenseGrabber::DepthSense_Median; |
| 210 | pcl::console::print_value ("median\n"); |
| 211 | break; |
| 212 | } |
| 213 | case pcl::DepthSenseGrabber::DepthSense_Median: |
| 214 | { |
| 215 | temporal_filtering_ = pcl::DepthSenseGrabber::DepthSense_Average; |
| 216 | pcl::console::print_value ("average\n"); |
| 217 | break; |
| 218 | } |
| 219 | case pcl::DepthSenseGrabber::DepthSense_Average: |
| 220 | { |
| 221 | temporal_filtering_ = pcl::DepthSenseGrabber::DepthSense_None; |
| 222 | pcl::console::print_value ("none\n"); |
| 223 | break; |
| 224 | } |
| 225 | } |
| 226 | grabber_.enableTemporalFiltering (temporal_filtering_, window_); |
| 227 | } |
| 228 | if (event.getKeyCode () == 's') |
| 229 | { |
| 230 | boost::format fmt ("DS_%s_%u.pcd"); |
| 231 | std::string fn = boost::str (fmt % grabber_.getDeviceSerialNumber ().c_str () % last_cloud_->header.stamp); |
| 232 | pcl::io::savePCDFileBinaryCompressed (fn, *last_cloud_); |
| 233 | pcl::console::print_info ("Saved point cloud: "); |
| 234 | pcl::console::print_value (fn.c_str ()); |
| 235 | pcl::console::print_info ("\n"); |
| 236 | } |
nothing calls this directly
no test coverage detected