Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

OpenCV скриншот не работает

Access Denied Мастер (1212), закрыт 9 месяцев назад
Я читаю видео поток с камеры и делаю скрины каждые 10 минут
 dt_for_save = datetime.now() 
cv2.imwrite('screenshot.tmp.jpg', image)
path =r'C:\Users\Professional\PycharmProjects\shelves\.venv\screens_for_training'
cv2.imwrite(os.path.join(path, f'screen.{dt_for_save}.jpg'), img)
Первый imwrite срабатывает нормально и сохраняет скриншот
А второй imwrite не работает, скриншоты не сохраняются
Почему так?
Лучший ответ
Карм Мастер (1669) 1 год назад
Проблема может быть вызвана тем, что переменная dt_for_save содержит объект datetime, который включает символы, не допустимые в имени файла, например, двоеточие (:). Операционные системы, такие как Windows, не разрешают использование таких символов в именах файлов.

Попробуйте изменить формат времени сохранения скриншота на что-то, что не содержит этих запрещенных символов. Например, вы можете использовать метод strftime() для форматирования времени в строку с допустимыми символами:

dt_for_save = datetime.now ().strftime("%Y-%m-%d_%H-%M-%S")

Это создаст строку в формате год-месяц-день_час-минута-секунда, что будет безопасным для использования в качестве имени файла на большинстве операционных систем.
Access DeniedМастер (1212) 1 год назад
Спасибо, именно это и оказалось причиной
Остальные ответы
Похожие вопросы