OSD Node
Node vẽ kết quả lên frame — 18 layer cấu hình độc lập trong một node duy nhất.
cpp
#include <cvedix/nodes/osd/cvedix_osd_node.h>
auto osd = std::make_shared<cvedix_nodes::cvedix_osd_node>("osd");
osd->attach_to({tracker});Cấu hình layer
cpp
cvedix_nodes::unified_osd_config cfg;
// Detection
cfg.show_bbox = true; // khung bao
cfg.show_label = true; // tên class
cfg.show_score = true; // confidence
// Tracking
cfg.show_track_id = true; // ID theo dõi
cfg.show_track_trail = true; // vệt di chuyển
// Privacy
cfg.blur_labels = {"face"}; // làm mờ theo label
cfg.face_blur_kernel_size = 71; // độ mờ
// BA overlay
cfg.show_ba_lines = true; // vẽ đường kẻ crossline
cfg.show_ba_areas = true; // vẽ ROI
cfg.show_ba_events = true; // hiện text event
osd->update_config(cfg);Cập nhật lúc runtime
Config có hiệu lực ngay lập tức, không cần restart:
cpp
auto cfg = osd->get_config();
cfg.show_track_trail = false;
osd->update_config(cfg);Use case: làm mờ khuôn mặt (GDPR)
src → face_detector → osd(blur face) → rtmp_descpp
cvedix_nodes::unified_osd_config cfg;
cfg.show_bbox = false; // không vẽ khung
cfg.blur_labels = {"face"}; // chỉ làm mờ
cfg.face_blur_kernel_size = 91; // mờ mạnh
osd->update_config(cfg);Sample có sẵn: 02_face_detection_blur trong samples/.