Прототип для металлографа: анализ включений на Python с OpenCV и PyQt

от автора

В профессии инженера-металловеда мне ежедневно приходится анализировать микроструктуру материалов и неметаллические включения. До недавнего времени я, как и многие, делал это вручную: окуляр микроскопа, шкалы, подсчёты, Excel. Утомительно и долго. На фоне постоянного потока образцов нагрузка на глаза и внимание становится ощутимой.

Коммерческие решения вроде Thixomet или Siams решают эту проблему… почти. Они избыточны, дороги, и процентов на 90 включают функции, которыми обычный инженер не пользуется. Хотелось чего-то проще, точнее и, желательно, бесплатного. Так родился мой проект SenseOptics KANV.

Что такое SenseOptics KANV?

Это программа для анализа коррозионно-активных неметаллических включений (КАНВ), с возможностью автоматической и ручной корректировки. Главное — она позволяет работать через монитор, а не через окуляр микроскопа.

Возможности:

  • Автоматическое определение и подсчёт включений на изображении.

  • Быстрое измерение размеров окружностей.

  • Ручная корректировка (добавить/удалить включения).

  • Подсчёт плотности включений и экспорт результатов.

  • Интуитивный интерфейс с zoom, загрузкой серий изображений и калибровкой масштаба

Блок-схема алгоритма работы программы для автоматического распознавания КАНВ.

Блок-схема алгоритма работы программы для автоматического распознавания КАНВ.
Пример металлографического изображения после травления (конструкционная низколегированная сталь, ×100) с автоматически выявленными КАНВ, помеченными цветными контурами.

Пример металлографического изображения после травления (конструкционная низколегированная сталь, ×100) с автоматически выявленными КАНВ, помеченными цветными контурами.

Все это реализовано через модульную архитектуру: auto_detector, manual_detector, calibration, camera_capture.

Как работает алгоритм

  1. Захват изображения — с камеры или из файла.

  2. Предобработка — фильтрация шумов, сглаживание, преобразование в градации серого.

  3. Сегментация — бинаризация по яркости, выделение включений.

  4. Анализ — площадь, форма, контраст, диаметр, фильтрация по порогам.

  5. Подсчёт и классификация — плотность, распределение по размеру, экспорт данных.

На выходе — таблица включений и наглядное изображение с контуром каждого КАНВ.

Что под капотом

Python + OpenCV — основа обработки изображений.

PyQt6 — интерфейс.

OpenPyXL — экспорт в Excel.

IC Imaging Control 4 — для работы с микроскопической камерой (в планах).

Весь код пока находится у меня на машине — проект ещё не опубликован, но потенциально его можно превратить в open source.

Где было сложно

Сложностей хватало:

Не удалось подключить микроскопическую камеру через IC Imaging Control 4 — пока использую обычную USB-камеру.

В корпоративной среде ПО сложно протестировать: политика безопасности запрещает установку сторонних приложений без одобрения.

Специализированная камера стоит около 80 000 рублей — не каждый может себе позволить для прототипа.

Неясно, как продвигать проект: open source или коммерциализация? Получать ли сертификацию как средство измерений? Крупные заводы хотят «коробку» с гарантией, а не DIY-решение.

Тем не менее, это был ценный опыт, и я не собираюсь останавливаться.

Впереди — ещё интереснее

SenseOptics — не единственный проект, над которым я работаю. Вот ещё несколько:

Распознавание данных с аналоговых приборов (например, манометров) с камеры.

Обнаружение изменений в зоне изображения — пригодится для промышленного мониторинга.

«Ключевалка» для фотостоков — AI-система определяет, что изображено на фото, и записывает описание и ключевые слова в EXIF.

Генерация изображений через Google Sheets + Recraft — вы загружаете промпты в таблицу, получаете ссылки на картинки. Всё работает через API.

Вместо заключения

Создавая SenseOptics KANV, я понял одну важную вещь: тебе не обязательно быть гигантской компанией, чтобы сделать рабочий инструмент. Достаточно понимать свою задачу, уметь программировать и не бояться пробовать. Иногда это даже интереснее, чем просто решать рутинные задачи.

 


ссылка на оригинал статьи https://habr.com/ru/articles/900454/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *