mouse_event_handler(event, x, y, flags, param): Это функция-обработчик событий мыши. Она вызывается при возникновении событий мыши в окне видео. В зависимости от типа события (нажатие или отпускание левой кнопки мыши), функция обновляет значения глобальных переменных start_x, start_y, end_x и end_y, а также устанавливает флаг apply_blur, который указывает, нужно ли применить размытие на выделенной области.
mouse_event_handler(event, x, y, flags, param): Это функция-обработчик событий мыши. Она вызывается при возникновении событий мыши в окне видео. В зависимости от типа события (нажатие или отпускание левой кнопки мыши), функция обновляет значения глобальных переменных start_x, start_y, end_x и end_y, а также устанавливает флаг apply_blur, который указывает, нужно ли применить размытие на выделенной области.
blur_and_save_video(video_path, blur_radius, output_path): Это функция для обработки видео с применением размытия на выделенной области и сохранения результата. Она принимает следующие параметры:
video_path: путь к исходному видеофайлу.
blur_radius: радиус размытия для применения фильтра Гаусса.
output_path: путь для сохранения видео.
Внутри функции происходит открытие видеофайла с помощью cv2.VideoCapture.
В цикле обработки видеокадров происходит чтение кадра, применение размытия на выделенной области,
если флаг apply_blur установлен в True, и отображение кадра в окне с помощью cv2.imshow. Кадр также записывается в результирующий видеофайл с помощью out.write. Цикл продолжается до тех пор, пока видео не закончится или не будет нажата клавиша 'q'.
blur_and_save_video(video_path, blur_radius, output_path): Это функция для обработки видео с применением размытия на выделенной области и сохранения результата. Она принимает следующие параметры:
video_path: путь к исходному видеофайлу.
blur_radius: радиус размытия для применения фильтра Гаусса.
output_path: путь для сохранения видео.
Внутри функции происходит открытие видеофайла с помощью cv2.VideoCapture.
В цикле обработки видеокадров происходит чтение кадра, применение размытия на выделенной области,
если флаг apply_blur установлен в True, и отображение кадра в окне с помощью cv2.imshow. Кадр также записывается в результирующий видеофайл с помощью out.write. Цикл продолжается до тех пор, пока видео не закончится или не будет нажата клавиша 'q'.