mirror of
https://github.com/orbbec/OrbbecSDK_ROS2.git
synced 2026-09-13 03:30:18 +08:00
No longer judging depth_laser_status
This commit is contained in:
@@ -1863,10 +1863,6 @@ void OBCameraNode::onNewFrameSetCallback(std::shared_ptr<ob::FrameSet> frame_set
|
||||
tf_published_ = true;
|
||||
}
|
||||
auto depth_frame = frame_set->getFrame(OB_FRAME_DEPTH);
|
||||
bool depth_laser_status = false;
|
||||
if (depth_frame && depth_frame->hasMetadata(OB_FRAME_METADATA_TYPE_LASER_STATUS)) {
|
||||
depth_laser_status = depth_frame->getMetadataValue(OB_FRAME_METADATA_TYPE_LASER_STATUS) == 1;
|
||||
}
|
||||
auto color_frame = frame_set->getFrame(OB_FRAME_COLOR);
|
||||
if (depth_frame) {
|
||||
depth_frame = processDepthFrameFilter(depth_frame);
|
||||
@@ -1889,10 +1885,8 @@ void OBCameraNode::onNewFrameSetCallback(std::shared_ptr<ob::FrameSet> frame_set
|
||||
|
||||
if (enable_stream_[COLOR] && color_frame) {
|
||||
std::unique_lock<std::mutex> lock(color_frame_queue_lock_);
|
||||
if (!enable_3d_reconstruction_mode_ || depth_laser_status) {
|
||||
color_frame_queue_.push(frame_set);
|
||||
color_frame_queue_cv_.notify_all();
|
||||
}
|
||||
color_frame_queue_.push(frame_set);
|
||||
color_frame_queue_cv_.notify_all();
|
||||
} else {
|
||||
publishPointCloud(frame_set);
|
||||
}
|
||||
@@ -1907,24 +1901,7 @@ void OBCameraNode::onNewFrameSetCallback(std::shared_ptr<ob::FrameSet> frame_set
|
||||
if (frame == nullptr) {
|
||||
continue;
|
||||
}
|
||||
if (stream_index == DEPTH) {
|
||||
frame = (enable_3d_reconstruction_mode_ && !depth_laser_status) ? nullptr : frame;
|
||||
}
|
||||
auto is_ir_frame = frame_type == OB_FRAME_IR_LEFT || frame_type == OB_FRAME_IR_RIGHT ||
|
||||
frame_type == OB_FRAME_IR;
|
||||
if (is_ir_frame) {
|
||||
std::shared_ptr<ob::Frame> ir_frame =
|
||||
frame->getFormat() == OB_FORMAT_MJPG ? decodeIRMJPGFrame(frame) : frame;
|
||||
bool ir_laser_status = false;
|
||||
if (ir_frame && ir_frame->hasMetadata(OB_FRAME_METADATA_TYPE_LASER_STATUS)) {
|
||||
ir_laser_status = ir_frame->getMetadataValue(OB_FRAME_METADATA_TYPE_LASER_STATUS) == 1;
|
||||
}
|
||||
if (ir_frame && (!enable_3d_reconstruction_mode_ || !ir_laser_status)) {
|
||||
onNewFrameCallback(ir_frame, stream_index);
|
||||
}
|
||||
} else if (frame_type == OB_FRAME_DEPTH) {
|
||||
onNewFrameCallback(frame, stream_index);
|
||||
}
|
||||
onNewFrameCallback(frame, stream_index);
|
||||
}
|
||||
}
|
||||
} catch (const ob::Error &e) {
|
||||
|
||||
Reference in New Issue
Block a user