Skip to content

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_des
cpp
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/.

Phần mềm độc quyền — CVEDIX