ImageSorcery 01 - Как я свой open source вайбкодил
ImageSorcery 02 - Превращение ImageWizard в ImageSorcery
Это серия статей от идеи ImageSorcery до 100+ звёзд на гитхабе и 100+ ежедневных установок с pypi.
В прошлый раз мы выяснили, что при правильной настройке бесплатных инструментов, бесплатная LLM Gemini может оказаться не хуже Claude в написании документации. И закончили на вопросе, почему никто раньше не привязал MCP к ImageMagic?
А вот почему
Первым делом после звонка с Системным Аналитиком я дал Cline в своём VSCode право на запуск команд в терминале. Затем взял первый попавшийся скриншот мобильного приложения и попросил вырезать NavBar используя ImageMagic. Gemini flash вырезал какую-то случайную часть экрана.

Я переключился на Gemini pro - результат тот же. o3 от OpenAI и Sonnet от Anthropic также облажались.
Долго думал. Я знал что все эти модели мультимодальные и наверняка знают что такое NavBar. Тут явно что-то не сходилось. Я полез раскрывать свёрнутые секции их размышлений и обнаружил что:
Все они понимают, что изображено и “видят” NavBar.
Никто из них не способен вычислить точные координаты этого NavBar.
Они даже размеров изображения не знают.
Из-за чего все они действовали наугад.
Оказывается LLM не умеют определять точные координаты объектов, которые они видят, не говоря уже про их точную геометрию.
В этом и крылся ответ на вопрос “а чего раньше это никто не сделал?”.
С этой дилеммой я пошёл к Gemini. Сокращённая переписка:
👤: какой аналог npmjs.com для питона?
🤖: PyPi👤: у него сайт есть?
🤖: pypi.org👤: порекомендуй мне 5 - 10 пакетов для распознавания изображений на python моя задача - определять координаты объектов для будущего crop
ИИ: Pillow, OpenCV, scikit-image, TensorFlow Object Detection API, Detectron2, YOLO, Tesseract OCR, SimpleCV, imutils. Рекомендации:
1) Начните с OpenCV или scikit-image.
2) Если вам нужна более высокая точность или нужно распознавать определенные типы объектов, рассмотрите TensorFlow Object Detection API, Detectron2 или YOLO.
3) Используйте Pillow для загрузки, сохранения и предварительной обработки изображений.
4) Используйте imutils для упрощения работы с OpenCV.
5) Если вам нужно распознавать текст, используйте Tesseract OCR.👤: расскажи подробней про opencv imutils pytorch и yolo
🤖:
- OpenCV - это фундаментальная библиотека для компьютерного зрения, предоставляющая широкий спектр алгоритмов для обработки изображений и обнаружения объектов.
- imutils - это набор удобных функций, которые упрощают работу с OpenCV.
- PyTorch - это мощный фреймворк машинного обучения, который можно использовать для построения и обучения сложных моделей обнаружения объектов.
- YOLO - это семейство алгоритмов обнаружения объектов в реальном времени, известных своей скоростью и точностью.👤: важный момент. я не хочу обучать модели сам. мне нужен готовый инструмент
🤖: Начните с OpenCV + YOLO от Ultralytics
Как можно заметить, я не силён в python от слова совсем 😅. Но я выбрал его, потому что осведомлён о его большой экосистеме инструментов ML в общем и компьютерного зрения в частности.
И так стек найден. И с удивлением для меня, места для ImageMagic в нём не нашлось, ведь все необходимые инструменты для обработки уже есть в OpenCV.
А что стало с названием ImageWizard?
Тут всё банально. Я погуглил - это название уже занято приложением в сфере обработки изображений с ИИ 🤷. Пришлось найти незанятое. Но постарался оставить отсылку на ImageMagic