Обновить
10
KMiNT21@KMiNT21

old-school

6
Подписчики
Отправить сообщение

Будем надеяться, что проект найдет поддержку. :) Однозначно это очень удобная обертка. Насколько ж адекватней выглядит такой код для получения списка случайных фреймов. Без всяких этих отдельных set, read:

# читабельно
cap = cv3.VideoCapture(project_video_path)
total_frames = cap.frame_cnt
frame_indices = random.sample(range(total_frames), 10)
frames = [cap[i] for i in frame_indices]




# ну или еще более компактно, если кому-то так нравится
cap = cv3.VideoCapture(project_video_path)
frames = [cap[i] for i in random.sample(range(cap.frame_cnt), 10)]




# а теперь сравните с этой манной кашей
cap = cv2.VideoCapture(project_video_path)
total_frames = int(cap.get(cv2.CAP_PROP_FRAME_COUNT))
frame_indices = random.sample(range(total_frames), 10)
frames = []
for i in frame_indices:
        cap.set(cv2.CAP_PROP_POS_FRAMES, i)
        ret, frame = cap.read()
        frames.append(frame)

Как раз наоборот же. Сначала надо заинтересовать, показать "мотивационную часть" (примеры кода), а потом уже рассказывать о том, как устанавливать.

Я для переключения капс-локом написал на Nim вот такую микро-утилитку - https://github.com/KMiNT21/minimal-caps-lock-lang-switcher/blob/master/caps_lock_lang_switcher.nim

Можешь добавить туда еще несколько строк и для обработки F9 и F10.

Вот и кто в то время знал, что интернет изменится АЖ ТАК? :)

Забавно было пройтись по комментам. :)

Да ладно? Часто слышу такие изречения, от людей, которые выживают за счёт помощи других.

Все это уже было доказано в научной работе от 1969 года (Владимир Иосифович Раутбарт в соавторстве с Эдуардом Успенским). Ссылку на работу как раз вот выше дали.

"Относись к другим так же, как ты хочешь, чтобы относились к тебе."

А в реальности это не работает. :)

Относись к другим так, чтобы они относились к тебе так, как ты хочешь. :)

Это уже, кстати, недоработка автора канала, который настраивал эти рекомендации на таймлайне в Youtube Studio. Если планируешь такую вставку в конце, то надо продлить ролик хотя бы черным экраном на ХХ секунд, чтобы красиво выдать связанные ролики. Можно даже аудио подложку там сделать другую, чтобы воспринималось все более гармонично. Например: https://www.youtube.com/watch?v=8ch7mPz6GUU

Но, да, мог бы Гугл и сам сделать возможность таких вставок без искажения оригинальных видео. Прямо в студии.

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

Тренажер процесса приготовления препарата из бактерий и метод окраски

Было бы любопытно, да. :)

Вообще, на мой взгляд, самые эффективные сценарии для обучения в VR прямо сейчас -- нештатные ситуации, аварии. Вот это важнейшая тема для реализации. Например, из самого массового -- уроки контр-аварийного вождения.

Но вот парадокс. С ближайшим внедрением AI во многие сферы жизни более ценными навыками "кожаных мешков" будут как раз моторные, которые все еще будут слишком сложны для роботов (по цене реализации).

Но тренировать моторные навыки с помощью VR на текущем железе пока никак (если нужно оттачивать навыки, например, для игры в футбол). Существующие неточности/погрешности в схеме действие -> визуальный контроль результата просто будут "размазывать" нашу нейронку. Разве что, если пробовать что-то сложное с нуля в VR, а потом в реальности файн-тюнить ее уже. :)

"Изучая мед, нельзя стать пчелой"
(с) Лао Кармакяо

Только что в голову аналогия пришла. Многие как-то стремятся прям все-все инструменты освоить (для одних и тех же задач). Так вот это мне напомнило странных музыкантов, которые вместо игры, скажем, на гитаре, вдруг впадают в панику: "Ааааа! А же на флейте еще не научился!!". :)

Так это ж не путь. Это прыжок с обрыва. :)

В былые времена было забавно после просиживания в SoftIce сверить реальное время с временем на компьютере. :) По отставанию можно было прикинуть время, проведенное в "отладке".

Да, на Спектруме это времени отнимало дофига. Обычно ж GensMons в память влезть не мог, приходилось игру еще разбить на две части и записать на кассету их отдельно. А потом грузишь первый кусок, грузишь GensMons, ковыряешься, смотришь тут все самое интересное, либо во втором куске. Что-то там подправляешь, загружаешь второй кусок игры в память, делаешь RANDOMIZE USR XXX и .... наблюдаешь.. либо ПТЫЩЩЩ, если что-то не то изменил. :) И вот так часами.

Самое впечатляющее было -- отправить сразу на все компьютеры в рабочей группе :)
net send * сообщение.

Да, на не-NT надо было запустить WinPopup.exe. Я его даже SoftIce-ом расковырял, чтобы посмотреть как оно работает. :) И через реверсинг узнал про мэил-слоты. А потом, если память не изменяет, написал утилиту для отправки сообщений с поддельным отправителем.

Лучше будет на примере показать. Вот. Речь о том, чтобы писать такой код, который будет читаться как "человеческий текст".

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

Посмотрел, что оно на NodeJS. Подумал, может посмотреть как вообще боты под телеграмм пишутся. Как оказалось, вполне удобная библиотечка для питона есть. И решил аналог написать, сохранив синтаксис команд, к которым те люди (наверное) привыкли.

Сначала вообще думал не делать универсальный, а сделать чисто под один наш чат. За вечер вышло уже работающего бота получить. Но потом-таки пошло-поехало. Переделывал-допиливал. А тем временем и тот бот заработал. :)

Кроме автоматического вычленения даты (я в др комменте пример давал) я еще добавил параметр LIMIT для каждого события. Чтобы не было так, что у нас 12 человек максимум, а наплюсовались уже 16, и они не знают, что уже лишние. А так задаем /limit 12 . И все, кто не успели в основной список, красуются в блоке "Резерв".

И кроме этого еще фиксируется время отмены заявки (и отображается список отмененных в самом низу). Чтобы было потом видно тех, кто отменился за час, например. Особо злостных можно штрафовать командой /penalty USERID. :) Это просто для отображения желтых карточек рядом с именем, если коэффициент заявки/штрафы становится уже неприличным.

А я сделал так (ссылка в комменте выше), что можно просто в названии написать как-то типа "Футбол, послезавтра, 18:30". И оно само вытаскивает правильную дату. И вот тоже хотел сделать уведомления. Например, в день игры за несколько часов. Но что-то меня остановило... не помню уже что. :) Наверное, надо-таки сделать. Только определиться бы с временными точками напоминания...

Информация

В рейтинге
5 218-й
Откуда
Украина
Дата рождения
Зарегистрирован
Активность