Создаешь таймер через os.clock() при нажатии кнопки. Далее проверяешь каждый кадр прошло ли от таймера 5 секунд легкими математическими действиями.
Условно таймер в переменной timer:
local timer = -1;
--цикл (фрейм)
if imgui.Button('картинка') then
timer = os.clock();
end
local elapsedTime = os.clock() - timer;
if elapsedTime > 5 then
timer = -1; -- сбрасываем таймер тем самым рендер картинки прекратится
elseif elapsedTime > 0 and
-- отрисовка картинки
end
Сделал на коленке с телефона. Только проснулся, могут быть баги но это уже сам смотри
Можешь для надежности запихнуть проверку что timer не равняется -1