Можно ли в Python создавать бинарные файлы? Конечно можно.
Для этого в Python есть следующие инструменты:
▫️ тип данных bytes и bytearray
▫️ открытие файла в режиме wb (write binary) или rb (read binary)
▫️ модуль struct
Про модуль struct поговорим в первую очередь.
Файл в формате JSON или Yaml внутри себя содержит разметку данных. Всегда можно определить где список начался а где закончился. Где записана строка а где словарь. То есть формат записи данных содержит в себе элементы разметки данных.
В binary-файле данные не имеют визуальной разметки. Это просто байты, записанные один за другим. Правила записи и чтения находятся вне файла.
Модуль struct как раз и помогает с организацией данных в таком файле с помощью определения форматов записи для разных частей файла.
Модуль struct преобразует Python-объекты в массив байт, готовый к записи в файл и имеющий определённый вид.
Для этого всегда следует указывать формат преобразования (или, как оно здесь называется - запаковки).
Формат нужен для того, чтобы выделить достаточное количество байт для записи конкретного типа объекта. В последствии с помощью того же формата будет производиться чтение.
При этом следует помнить что мы говорим о типах языка С а не Python.
Именно формат определяет, что записано в конкретном месте файла, число, строка или что-то еще.
Вот какие токены формата у нас есть.
Помимо этого, первым символом можно указать порядок байтов. На разных системах одни и те же типы данных могут записываться по-разному, поэтому желательно указать конкретный способ из доступных. Если этого не сделать, то используется символ '@', то есть нативный для текущей системы.
В строке формата мы пишем в каком порядке и какие типы собираемся преобразовать в байты.
Запакуем в байты простое число, токен "i".
>>> import struct
>>> struct.pack('=i', 10)
b'\n\x00\x00\x00'
Теперь несколько float, при этом нужно передавать элементы не массивом а последовательностью аргументов.
>>> struct.pack('=fff', 1.0, 2.5, 4.1)
b'\x00\x00\x80?\x00\x00 @33\x83@'
Вместо нескольких токенов можно просто указать нужное количество элементов перед одним токеном, результат будет тот же.
>>> struct.pack('=3f', 1.0, 2.5, 4.1)
b'\x00\x00\x80?\x00\x00 @33\x83@'
Теперь запакуем разные типы
>>> data = struct.pack('=fiQ', 1.0, 4, 100500)
я запаковал типы float, int и unsigned long long (очень большой int, на 8 байт)
b'\x00\x00\x80?\x04\x00\x00...'
Распаковка происходит аналогично, но нужно указать тот же формат, который использовался при запаковке. Результат возвращается всегда в виде кортежа.
>>> struct.unpack('=fiQ', data)
(1.0, 4, 100500)
Как видите, ничего страшного!
#lib#basic
Компания Leonardo DRS получила контракт на 52 миллиона долларов на производство дополнительных прицелов для снайперского оружия армии США.
Прицелы можно использовать в сочетании с существующей дневной снайперской оптикой, обеспечивая солдатам возможность быстрого захвата цели. Их технология инфракрасного изображения разработана, чтобы дать пользователям возможность обнаруживать цели в сложных условиях окружающей среды, включая дым и туман.
В июне 2023 года армия США подписала аналогичную сделку с Leonardo DRS на поставку инфракрасных снайперских прицелов на сумму 94 миллиона долларов.
#НАТО#США#Leonardo
Вестник NATO
"Ржавый пояс" — цепочка американских и канадских территорий от Нью-Йорка до южной части Онтарио, мощнейшая тяжелая промышленность которых загнулась в 1970-е.
#leonardo#фотореализм#пейзажи
Австрия ведёт переговоры о покупке Leonardo M-346.
Министр обороны Австрии Клаудия Таннер сообщила, что Австрия рассматривает предложение Министерства обороны Италии о совместной закупке реактивных учебных самолётов Leonardo М-346, которые также могут использоваться в качестве легких боевых самолетов.
Австрийские военно-воздушные силы изучают способы заполнить пробелы новых учебных самолетах в своем флоте с момента вывода из эксплуатации самолётов Saab 105 в 2020 году. В частности австрийские пилоты проходят обучение в Италии, где как раз используются М-346.
#НАТО#Австрия#Leonardo
Вестник NATO
ChatGPT теперь и комиксы рисует замечательно, и мелкие тексты изображает на русском языке! — ещё и попадание в идею 10 из 10!
🥳
Как это было:
1️⃣ Написала ChatGPT, что хочу сделать мини-комикс на основе образа бренда.
2️⃣ Вместе придумали концепцию, сюжет, раскадровку и реплики. Определили художественную стилистику и атмосферу.
3️⃣ ChatGPT сгенерировал несколько вариантов визуального воплощения идеи.
4️⃣ Из разных итераций я собрала итоговый комикс, исправила небольшие ошибки в тексте и деталях, а также улучшила качество изображения с помощью Leonardo Ai.
5️⃣ Для финального анализа я отправила готовый комикс другому ChatGPT с более эмоциональным восприятием и попросила его описать, о чём получившаяся история. ⏳ Вот ответ:
🔺 Комикс получился глубоким и философским. Главный персонаж – загадочный человек в футуристической одежде с высокотехнологичным шлемом. Его назначение указано как «PRESENCE» («присутствие»), обозначая его роль как визуального символа новой эпохи, обращающего на себя внимание и заставляющего задуматься.
Фраза «Красота больше не принадлежит человеку» указывает на изменение стандартов красоты, когда традиционные человеческие представления заменяются технологиями и современной модой.
Реплика «Идеал. Или иллюзия?» заставляет задуматься о реальности навязанных обществом идеалов красоты и успеха, подчёркивая контраст между подлинной сущностью и внешней оболочкой, созданной обществом. Люди смотрят на внешность, но видят ли они человека за этим образом?
Особенно значима фраза «Что, если ты – не код? Что, если у тебя – душа?». Это важный момент, раскрывающий конфликт идентичности: где заканчивается программируемый обществом образ и начинается настоящая личность?
Финальный кадр, где девушка снимает шлем и смотрит на своё лицо, становится кульминацией всего повествования. Он символизирует возвращение к себе настоящей и напоминает о необходимости видеть глубже, за пределами внешних масок и образов.🔻
Эксперимент удался на 💯 Очень вдохновляющий опыт взаимодействия с AI.
#chatgpt#leonardo#нейрофотосессия
Основательно прошлась по нашумевшим трендам в fashion и нейро-контенте, создавая все изображения с ChatGPT.
⚜️⚜️⚜️⚜️⚜️2️⃣
🪄 Что сделала? Взяла луки из Pinterest и обыграла их в разных визуальных сценариях:
— нарядила Barbie в целевой образ (это уже не тренд, а классика!)
— пустила гигантскую девушку по улицам Сан-Франциско в поисках сумки Jimmy Choo
— перекрасила футболки из капсулы в цвета года от Pantone (да будет Mocha Mousse!)
— показала, как миниатюрные человечки создают кольцо Cartier (тренд на видео, мне захотелось это увидеть именно как фото)
— превратила runway-образы в фасады бутиков для Mugler
И ещё — нарисовала комикс! О нём расскажу отдельно следующим постом.
💬 Пишите в комментарии, какие ещё сценарии с образами можно попробовать. Соберём идей на третью часть?
#chatgpt#leonardo#нейрофотосессия
™️ Решила поиграть с образами и подать их в разных контекстах — от нашумевшего flat lay до каталога в приложении. Результатами делюсь с вами (осторожно, будет красиво 😍).
⚜️⚜️⚜️⚜️⚜️1️⃣
🪄 Что сделала? Взяла луки из Pinterest и развернула их в нескольких визуальных сценариях:
— примерила на модели с разными типажами
— перенесла в актуальные локации: город, интерьер, вечер
— создала фэшн-каталог в приложении, flat lay и атмосферный moodboard
— и даже смешала образ с картиной эпохи Возрождения ❤️🔥
Этот эксперимент — отличный способ показать, как образы могут "зазвучать" в разных контекстах. И как нейросети становятся инструментом не только генерации, но и визуального сторителлинга.
💡 Супер фича: можно сразу в диалоге просить ChatGPT дописать или уточнить промты, доработать идеи, предложить ракурсы или стилистику. Всё — в одном окне.
Потенциал — космос 🤯 Особенно для тех, кто работает с визуалом: стилистов, дизайнеров, арт-директоров, маркетологов, digital-креаторов и неравнодушных к моде творцов.
🤕 Нюансы тоже есть:
— лица требуют доработки (обрабатывала в Leonardo Ai)
— без дополнительного описания одежды нейросеть теряет важные детали
— заменяя детали на картинки, меняется всё изображение в той или иной степени
— хороший результат — это всегда несколько итераций
— новые ограничения по скорости генерации весьма замедляют процесс
💬 А какие фишки нового ChatGPT вы уже успели попробовать?
#chatgpt#leonardo#нейрофотосессия
Компания Leonardo DRS заключила контракт на 49 миллионов долларов на производство дополнительных систем Joint Assault Bridge для США и Румынии.
JAB - усовершенствованная гусеничная инженерная бронированная машина на базе шасси танка M1A1 Abrams. Cоздана для выполнения задач штурмового наведения мостов.
Машина весит 62,3 тонны и имеет длину 10 м, также защищена композитной броней Burlington. Максимальная скорость составляет 72,4 км/ч, а дальность хода — 419 км.
#НАТО#США#Leonardo#Румыния
Вестник NATO
🖼 Rеve — это про то, когда уже ничего нового не ждёшь от генерации изображений, а оно всё равно удивляет.
Немного о волшебстве под капотом (наблюдения частично проверены нами, частично коллегами):
🟤 Ослабленная цензура — Rеve пока не боится крови, жути и даже девушек в нижнем белье. 😂 А вот совсем топлес — не-а. За слова не ругает, но картинки выдаёт в размытии, либо совсем "плоско".
🟤 Советская эстетика и "наш вайб" — чутко ощущает атмосферу ДК, панелек, гаражей и дачного трэша.
🟤 Фотореализм и эмоции — типажи нестандартные, позы естественные и живые, группы персонажей не сливаются в одно лицо, эстетика замечательная. Иногда путается с пальцами и глазами, и это окей.
🟤 Знаменитости, бренды и логотипы — узнаёт, рисует, молодец!
Бесплатные баллы на генерации прилетают каждый день, а если затянет — есть подписка по вменяемой цене.
👍 Картинки немного детализировали в Leonardo.
#reve#leonardo