add update_vocabulary dora input for runtime label changes
The open_vocab engine now accepts an update_vocabulary input event carrying a UTF-8 comma-separated label string. Labels are re-encoded immediately via the CLIP text encoder; the next tick uses the new vocabulary. ZedNative ignores the input via a no-op base class method.
This commit is contained in:
+12
-1
@@ -95,7 +95,18 @@ int main() {
|
||||
}
|
||||
|
||||
auto input = event_as_input(std::move(event));
|
||||
(void)input;
|
||||
std::string input_id = std::string(input.id);
|
||||
|
||||
if (input_id == "update_vocabulary") {
|
||||
if (!input.data.empty()) {
|
||||
std::string labels(
|
||||
reinterpret_cast<const char*>(input.data.data()),
|
||||
input.data.size());
|
||||
detector->set_labels(labels);
|
||||
std::cout << "Vocabulary updated: " << labels << std::endl;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!camera.grab()) {
|
||||
std::cerr << "Grab failed; attempting to reconnect..." << std::endl;
|
||||
|
||||
Reference in New Issue
Block a user