Update skip color implementation

This commit is contained in:
jj
2025-06-04 16:01:47 +08:00
parent eb02ef3e44
commit 290699b4db
2 changed files with 4 additions and 29 deletions
@@ -653,16 +653,12 @@ class OBCameraNode {
int laser_index0_ir_brightness_ = 60;
int laser_index0_ir_ae_max_exposure_ = 17000;
int interleave_skip_color_index_ = 1;
int interleave_skip_depth_index_ = 1;
double delta_duration_us_ = 1000.0;
int delta_fps_ = 2;
VideoStreamInfo color_stream_info_ = {OB_FRAME_COLOR, 0};
VideoStreamInfo depth_stream_info_ = {OB_FRAME_DEPTH, 0};
VideoStreamInfo left_ir_stream_info_ = {OB_FRAME_IR_LEFT, 0};
VideoStreamInfo right_ir_stream_info_ = {OB_FRAME_IR_RIGHT, 0};
uint64_t left_last_time=0;
uint64_t right_last_time=0;
uint64_t depth_last_time_ = 0;
};
} // namespace orbbec_camera
+3 -24
View File
@@ -2165,11 +2165,10 @@ void OBCameraNode::onNewFrameCallback(const std::shared_ptr<ob::Frame> &frame,
std::shared_ptr<ob::VideoFrame> video_frame;
if (frame->getType() == OB_FRAME_COLOR) {
if (interleave_frame_enable_ && interleave_skip_enable_) {
interleave_skip_color_index_++;
if (interleave_skip_color_index_ % 2 == 0) {
if (std::abs(static_cast<int64_t>(getFrameTimestampUs(frame)) -
static_cast<int64_t>(depth_last_time_)) < 4000) {
return;
}
// updateStreamInfo(frame, color_stream_info_);
}
video_frame = frame->as<ob::ColorFrame>();
} else if (frame->getType() == OB_FRAME_DEPTH) {
@@ -2177,6 +2176,7 @@ void OBCameraNode::onNewFrameCallback(const std::shared_ptr<ob::Frame> &frame,
if (interleave_frame_enable_ && interleave_skip_enable_) {
if (video_frame->getMetadataValue(OB_FRAME_METADATA_TYPE_LASER_POWER_MODE) ==
interleave_skip_index_) {
depth_last_time_ = getFrameTimestampUs(frame);
return;
}
}
@@ -2188,27 +2188,6 @@ void OBCameraNode::onNewFrameCallback(const std::shared_ptr<ob::Frame> &frame,
if (video_frame->getMetadataValue(OB_FRAME_METADATA_TYPE_LASER_POWER_MODE) !=
interleave_skip_index_) {
return;
} else {
if (frame->getType() == OB_FRAME_IR_LEFT) {
if ((getFrameTimestampUs(frame) - left_last_time) > 37000) {
RCLCPP_WARN_STREAM(logger_,
"left this FrameTimestampUs: " << (getFrameTimestampUs(frame)));
RCLCPP_WARN_STREAM(logger_, "left last FrameTimestampUs: " << (left_last_time));
RCLCPP_WARN_STREAM(logger_, "left-between current and previous fram "
<< (getFrameTimestampUs(frame) - left_last_time));
}
left_last_time = getFrameTimestampUs(frame);
}
if (frame->getType() == OB_FRAME_IR_RIGHT) {
if ((getFrameTimestampUs(frame) - right_last_time) > 37000) {
RCLCPP_WARN_STREAM(logger_,
"right this FrameTimestampUs: " << (getFrameTimestampUs(frame)));
RCLCPP_WARN_STREAM(logger_, "right last FrameTimestampUs: " << (right_last_time));
RCLCPP_WARN_STREAM(logger_, "right-between current and previous fram "
<< (getFrameTimestampUs(frame) - right_last_time));
}
right_last_time = getFrameTimestampUs(frame);
}
}
}
} else {