Народ, посоветуйте, пожалуйста, каким самым простым способом можно было написать приложение примерно следующего свойства:
- обозначаем некий фрагмент экрана
- приложение захватывает изображением с этой части экрана
- обрабатывает его некоторым алгоритмом, который выдает некие инструкции о том, что и как необходимо нарисовать поверх этого кадра (самый простой пример в качестве результата png с прозрачностью и дополнительной разметкой)
- приложение рисует эту дополнительную часть на экране
и, главное,
- пользователь всё это время может взаимодействовать с этой областью экрана интерактивно (помещать туда окна других приложений, закрывать, открывать и т.д.)
оверлей естественным образом может и будет «запаздывать», если содержимое области меняется слишком быстро.
Функциональный пример подобного приложения: прогнать кадры через нейронку-детектор и отрисовать баундинг-боксы поверх кадра. Но, т.к. захват будет происходить с экрана, то захваченным кадром может является картинка в браузере, или фотография, открытая в просмотрщике изибражений. То есть всё, что попадает в целевую область экрана «гонится» на нейронку и затем рисуем боксы. Естественно, что боксы от предыдущей отрисовки не должны попадать в следующий захваченный кадр (отсюда термин оверлей).
Правильно понимаю, что в такой формулировке, это задача, требующая работы на уровне X или wayland-а?