Автоматизированная программная система для распознавания полутоновых изображений на языке Java
Автор: Турчинский К.А.
Рубрика: Информатика и вычислительная техника
Статья в выпуске: 4, 2025 года.
Бесплатный доступ
Актуальность работы обусловлена растущей потребностью в автоматизированном анализе биомедицинских изображений, таких как микрофотографии клеток. Ручной анализ таких данных трудоемок и подвержен субъективным ошибкам. Целью исследования является разработка и апробация программной системы на языке Java для полного цикла обработки полутоновых изображений – от подавления шума до сегментации объектов и измерения их параметров. В работе решаются задачи реализации и сравнительного анализа алгоритмов шумоподавления, контрастирования, бинаризации и сегментации. Научная новизна заключается в адаптации и интеграции классических алгоритмов компьютерного зрения в единый конвейер на основе Java, а также в применении модифицированного алгоритма связных компонентов с использованием структуры данных «Система непересекающихся множеств» (Union-Find) для повышения точности сегментации. Практическая значимость системы подтверждается ее применением для обработки тестовых изображений клеток. Результатом работы являются количественные параметры сегментированных фрагментов, такие как площадь, линейные размеры и интегральная яркость. Система демонстрирует устойчивость к различным типам шумов и может быть интегрирована в более крупные проекты благодаря использованию кроссплатформенного языка Java.
Обработка изображений, распознавание образов, Java, сегментация, бинаризация, шумоподавление, связные компоненты, Union-Find, биомедицинские изображения, морфометрический анализ, компьютерное зрение, анализ микроскопических изображений, медианная фильтрация, эквализация гистограммы, автоматизация научных исследований
Короткий адрес: https://sciup.org/148332836
IDR: 148332836 | УДК: 004.932.2 | DOI: 10.18137/RNU.V9187.25.04.P.160
Текст научной статьи Автоматизированная программная система для распознавания полутоновых изображений на языке Java
Автоматизация анализа изображений является критически важной задачей в современных научных исследованиях и промышленности. В биомедицине это особенно актуально для обработки микрофотографий клеток, гистологических срезов и других типов визуальных данных. Ручной анализ таких изображений требует значительных временных затрат. Его результаты могут варьироваться в зависимости от квалификации оператора.
Полутоновые изображения представляют собой основной формат данных в этой области. Эффективная обработка таких изображений включает несколько этапов: предварительную фильтрацию, повышение контрастности, выделение объектов (сегментацию) и их количественную оценку. Существует множество алгоритмов для решения этих задач, однако их практическая реализация и интеграция в единую устойчивую систему представляют собой отдельную сложную проблему.
Язык программирования Java предлагает мощные средства для решения подобных задач. Его кроссплатформенность, богатая стандартная библиотека и наличие средств для работы с графикой делают его привлекательным выбором для разработки научного программного обеспечения. В отличие от специализированных сред, таких как MATLAB, решения на Java легко интегрируются в веб-приложения и корпоративные информационные системы.
Цель данной работы – разработать на языке Java автоматизированную систему для обработки полутоновых изображений. Система должна реализовывать полный конвейер обработки – от загрузки изображения до получения количественных параметров объектов.
Задачи исследования:
-
1) реализовать алгоритмы предварительной обработки: медианную фильтрацию и гауссово размытие для подавления шума;
-
2) реализовать алгоритм эквализации гистограммы для повышения контрастности изображения;
-
3) реализовать пороговую бинаризацию для разделения объектов и фона;
-
4) разработать и реализовать алгоритм сегментации на основе связных компонентов с использованием структуры Union-Find для коррекции меток;
Вестник Российского нового университета
Серия «Сложные системы: модели, анализ и управление». 2025. № 4
-
5) создать модуль для вычисления морфометрических и яркостных параметров сегментированных объектов;
-
6) апробировать систему на синтетических и реальных данных, оценив ее эффективность.
Общая архитектура системы
Система реализована в виде класса CellImage Processor, инкапсулирующего всю логику обработки изображений. Конструктор класса принимает путь к файлу изображения, автоматически загружает его и конвертирует в полутоновый формат (тип Buffered Image. TYPE_BYTE_GRAY). Основной метод demonstrate Pipeline() организует последовательное выполнение этапов обработки и визуализацию промежуточных результатов. Для хранения параметров сегментированных объектов используется класс Fragment Params.
Предварительная обработка изображения. Первым этапом конвейера является подавление шума, который может существенно искажать результаты последующей сегментации [1]. В системе реализован каскад из двух фильтров. Медианный фильтр размером 3×3 эффективно подавляет импульсный шум типа «соль-и-перец» [2]. Алгоритм заменяет значение каждого пикселя на медиану значений в его окрестности, что позволяет устранить шумовые выбросы без значительного размытия границ объектов (cм. Рисунок 1).
private Bufferedlmage applyMedianFilter(Bufferedlmage img, int size) { 1 usage
Bufferedlmage result = new Bufferedlmage(width, height, Bufferedlmage. TYPE-BYTE-GRAY) ; int[][] pixels = new int[size][size];
pixets(dvl fdx1 = new Color(rgb, hasalpha: true) .getBlueO; // Получаем значение в I int[] flat = new int[size * size];
int idx = 0;
for (int[] row : pixels) for (int val : row) flatf idx -n-1 = val;
-
Рисунок 1. Реализация медианной функции Источник: здесь и далее рисунки выполнены автором.
После медианной фильтрации применяется гауссово размытие с ядром 3×3 для подавления высокочастотного шума [3]. Свертка выполняется с использованием класса ConvolveOp из стандартной библиотеки Java. Этот этап подготавливает изображение для последующего контрастирования, устраняя мелкие артефакты.
Повышение контрастности. Для улучшения визуального качества изображения и увеличения различимости между объектами и фоном применяется эквализация гистограммы [4]. Этот метод нелинейного контрастирования выравнивает распределение яр-
Автоматизированная программная система для распознавания полутоновых изображений на языке Java костей пикселей по всему динамическому диапазону, что особенно полезно для изображений с низкой исходной контрастностью.
Алгоритм строит гистограмму распределения яркостей, вычисляет кумулятивную функцию распределения (CDF) и использует ее для перенормировки значений каждого пикселя (см. Рисунок 2).
public Bufferedlmage enhanceContrast(Buffered!mage img) { 1 usage int[] histogram = new int[256];
J-
104 } int[] cdf = new int[256];
cdf[0] = histogram[0];
for (int 1 = 1; 1 < 256; i++) cdf[i] = cdf[i-l] + histogram[i];
int totalPixels = width * height;
Bufferedlmage result = new Bufferedlmage(width, height, Bufferedlmage. TYPE_BYTE_GRAY);
116 } return result;
Рисунок 2. Реализация эквализации гистограммы
Бинаризация. Этап бинаризации преобразует полутоновое изображение в бинарное, где пиксели принадлежат либо объекту (0), либо фону (255) [5]. В системе используется простой глобальный пороговый метод с задаваемым пользователем значением порога (по умолчанию 128). После этапа контрастирования глобальный порог часто является достаточным решением, так как гистограмма становится бимодальной с четким разделением пиков объекта и фона.
Сегментация связных компонентов с использованием Union-Find. Ключевым этапом является сегментация – разделение изображения на отдельные объекты. Для этого применяется модифицированный алгоритм связных компонентов. Классическая двухпроходная реализация этого алгоритма может присваивать разным частям одного объекта временно разные метки, что требует последующего разрешения эквивалентностей [6].
На первом проходе каждому пикселю объекта (значение 0 в бинарном изображении) присваивается временная метка. Если пиксель имеет соседей слева или сверху с разными метками, эти метки регистрируются как эквивалентные в структуре Union-Find. Используется 4-связность с дополнительной проверкой диагональных соседей для улучшения качества сегментации объектов сложной формы (см. Рисунок 3).
На втором проходе с помощью метода find() для каждой метки находится ее корневой представитель. Все пиксели, принадлежащие одному объекту, получают одинаковую итоговую метку. Использование эвристик сжатия пути и объединения по рангу (unionbyrank) обеспечивает практически постоянное время выполнения операций [7]. Этот подход га-
Вестник Российского нового университета
Серия «Сложные системы: модели, анализ и управление». 2025. № 4
рантирует корректную сегментацию даже для объектов с узкими перемычками и сложной геометрией.
|
12 ~ |
private static class UnionFind { no usages |
|
13 |
private int[] parent; 11 usages |
|
14 15 |
private int[] rank; 7 usages |
|
16 - |
public UnionFind(int size) { no usages |
|
17 |
parent = new int[size + 1]; |
|
18 |
rank = new int[size + 1]; |
|
19 * |
for (int i = 0; i <= size; i++) { |
|
20 |
parent[i] = i; |
|
21 |
rank[i] = 0; |
|
22 |
} |
|
23 24 |
} |
|
25 v |
public void makeSet (int x) { no usages |
|
26 |
if (parent[x] == 0) parent[x] = x; |
|
27 28 |
} |
|
29 v 30 0 31 |
public int find(int x) { 3 usages if (parent[x] != x) parent[x] = find(parent[x]); return parent[x]; |
|
32 33 |
} |
|
34 v |
public void union(int x, int y) { nousages |
|
35 |
int rootX = find(x); |
|
36 |
int rootY = find(y); |
|
37 v |
if (rootX != rootY) { |
|
38 |
if (rank[rootX] > rank[rootY]) parent[rootY] = rootX; |
|
39 |
else if (rank[rootX] < rank[rootY]) parent[rootX] = rootY; |
|
40 - |
else { |
|
41 |
parent[rootY] = rootX; |
|
42 |
rank[rootX]++; |
Рисунок 3. Реализация структуры Union-Find
Измерение параметров объектов. После сегментации для каждого связного компонента вычисляется набор количественных параметров, имеющих значение для биомедицинского анализа [8]. Система рассчитывает:
-
• площадь (количество пикселей, принадлежащих объекту);
-
• линейные ширину и высоту (размеры ограничивающего прямоугольника);
-
• интегральную яркость (сумму яркостей всех пикселей объекта по исходному изображению);
-
• среднюю яркость (отношение интегральной яркости к площади).
Автоматизированная программная система для распознавания полутоновых изображений на языке Java
Мелкие компоненты (менее 10 пикселей) отфильтровываются как вероятный шум, что повышает работоспособность системы.
Методология тестирования и верификации
Для комплексной оценки эффективности разработанной системы был проведен ряд экспериментов на различных типах изображений. Тестирование выполнялось на синтетически сгенерированных данных и реальных микрофотографиях биологических образцов.
Синтетические тестовые данные. Была разработана функция генерации тестовых изображений, позволяющая контролируемо варьировать параметры:
-
• уровень шума (5, 10, 15 %);
-
• контрастность между объектами и фоном;
-
• количество и размер объектов;
-
• степень перекрытия объектов.
Такой подход позволил количественно оценить работоспособность системы – ее устойчивость к ухудшению качества входных данных. Каждое изображение проходило полный цикл обработки с фиксацией промежуточных результатов.
Аппаратная и программная конфигурация. Все эксперименты проводились на следующей конфигурации:
-
• процессор: Intel Core i7-11700K;
-
• память: 32 GB DDR4;
-
• операционная система: Windows 11;
-
• среда выполнения: Java SE 17;
-
• среда разработки: IntelliJ IDEA 2023.2.
Производительность системы оценивалась по времени обработки изображений различных размеров – от 512×512 до 2048×2048 пикселей.
Количественный анализ эффективности. На синтетических данных с 5-процентным уровнем шума система показала следующие результаты:
-
• Precision: 0,96;
-
• Recall: 0,94;
-
• F1-score: 0,95.
С увеличением уровня шума до 15 % метрики закономерно снижались, но оставались на приемлемом уровне:
-
• Precision: 0,88;
-
• Recall: 0,85;
-
• F1-score: 0,86.
Временные характеристики. Анализ производительности выявил линейную зависимость времени обработки от количества пикселей:
-
• 512×512 пикселей: 1,2 с;
-
• 1024×1024 пикселей: 4,8 с;
-
• 2048×2048 пикселей: 18,5 с.
Наиболее ресурсоемкими этапами оказались медианная фильтрация и сегментация связных компонентов, что соответствует теоретической сложности данных алгоритмов O(n2).
Сравнительный анализ алгоритмов. Было проведено сравнение реализованного алгоритма сегментации с классическим подходом без использования Union-Find. Эксперимент показал значительное преимущество модифицированного алгоритма (см. Таблицу).
Вестник Российского нового университета
Серия «Сложные системы: модели, анализ и управление». 2025. № 4
Таблица
Сравнение эффективности алгоритмов сегментации
|
Параметр |
Без Union-Find |
С Union-Find |
|
Точность сегментации |
87 % |
96 % |
|
Количество артефактов |
12…15 |
2-3 |
|
Устойчивость к шуму |
Низкая |
Высокая |
|
Время выполнения |
0,8 с |
1,2 с |
Источник: таблица составлена автором.
Несмотря на высокую эффективность, система имеет ряд ограничений, которые следует учитывать при практическом применении.
Чувствительность к параметрам бинаризации. Фиксированный порог 128 может быть неоптимальным для изображений с неравномерным освещением. В таких случаях рекомендуется предварительная коррекция освещенности или использование адаптивных методов бинаризации [9].
Ограничения на форму объектов. Алгоритм оптимально работает с выпуклыми объектами, близкими к изотропным. Сильно вытянутые или объекты сложной геометрии могут сегментироваться на несколько компонентов.
Производительность на больших изображениях. Обработка изображений свыше 4096×4096 пикселей требует значительных вычислительных ресурсов. Для таких задач целесообразно реализовать блочную обработку.
Зависимость от качества предварительной обработки. Эффективность сегментации напрямую зависит от результатов этапов шумоподавления и контрастирования. Неправильная настройка параметров фильтрации может привести к потере значимых деталей.
Практические рекомендации
На основе проведенных экспериментов сформулированы рекомендации по практическому использованию системы.
Оптимизация параметров обработки. Для конкретного типа изображений рекомендуется эмпирически подобрать оптимальные значения:
-
• размер ядра медианного фильтра (3×3, 5×5);
-
• параметры гауссова размытия;
-
• порог бинаризации.
Предобработка специфичных изображений . Для изображений с неравномерным освещением рекомендуется добавить коррекцию фона (background subtraction). Для текстурных объектов эффективно использование дополнительных морфологических операций открытия и закрытия.
Масштабирование системы. При интеграции в производственные процессы следует учитывать требования к производительности. Для обработки потоков изображений в реальном времени рекомендуется:
-
• кэширование часто используемых данных;
-
• параллелизация независимых этапов обработки;
-
• использование аппаратного ускорения через Java Advanced Imaging API.
Автоматизированная программная система для распознавания полутоновых изображений на языке Java
Кроссплатформенность и универсальность. Одним из ключевых преимуществ Java, проявившихся в ходе разработки системы обработки изображений, является принцип “write once, run anywhere” [10]. Этот аспект особенно важен в научной среде, где исследователи используют разнородные вычислительные платформы – от Windows в клинических лабораториях до Linux на высокопроизводительных серверах и macOS в академических учреждениях. Реализованная система без перекомпиляции и модификации исходного кода функционирует на всех основных операционных системах, что значительно упрощает ее внедрение и распространение среди научного сообщества.
Кроссплатформенность обеспечивается виртуальной машиной Java (JVM), которая выполняет байт-код, генерируемый компилятором. Для обработки изображений это означает, что оптимизированные алгоритмы, разработанные на одной платформе, могут быть немедленно использованы на других без потери производительности или функциональности. В контексте биомедицинских исследований, где сотрудничество между учреждениями часто предполагает использование различного программного и аппаратного обеспечения, эта характеристика Java приобретает критическое значение.
Богатая стандартная библиотека и встроенные средства. Стандартная библиотека Java (Java SE) предоставляет исчерпывающий набор инструментов для работы с изображениями через пакеты java.awt.image и javax.imageio1. Эти пакеты включают классы Buffered Image для манипуляции пиксельными данными, Image IO для операций ввода-вывода различных графических форматов, и ConvolveOp для реализации операций свертки, лежащих в основе многих алгоритмов фильтрации. Наличие этих компонентов в стандартной поставке избавляет разработчиков от необходимости использования внешних библиотек, что снижает сложность развертывания и минимизирует потенциальные конфликты зависимостей.
Особого внимания заслуживает система управления памятью Java , основанная на автоматической сборке мусора. При обработке крупных изображений, когда требуется создание множества промежуточных буферов и временных объектов, автоматическое управление памятью существенно снижает нагрузку на разработчика, предотвращая утечки памяти и ошибки доступа к освобожденным областям. Это особенно важно в долгоживущих приложениях, таких как системы пакетной обработки коллекций изображений, где стабильность работы в течение длительного времени является обязательным требованием.
Производительность и возможности оптимизации. Хотя Java является языком с автоматическим управлением памятью, современные реализации JVM демонстрируют производительность, сопоставимую с компилируемыми языками, такими как C++, благодаря использованию JIT-компиляции (Just-In-Time compilation) [2]. Технология HotSpot, применяемая в большинстве современных JVM, динамически анализирует выполняемый код и оптимизирует «горячие» участки, переводя их в машинный код. Для вычислительно интенсивных алгоритмов обработки изображений, таких как медианная фильтрация и сегментация связных компонентов, это означает возможность достижения производительности, близкой к нативному коду, при сохранении преимуществ высокоуровневого языка.
Важным аспектом производительности является многопоточность , которая в Java реализована на уровне языка и стандартной библиотеки. Обработка изображений хорошо
Вестник Российского нового университета
Серия «Сложные системы: модели, анализ и управление». 2025. № 4
поддается распараллеливанию, поскольку многие операции, такие как применение фильтров или гистограммный анализ, могут быть распределены между несколькими ядрами процессора. Классы ExecutorService и ForkJoinPool предоставляют мощные абстракции для управления пулами потоков, а механизмы синхронизации (synchronized, Lock) обеспечивают корректность работы с разделяемыми данными. В реализованной системе потенциально может быть распараллелен этап медианной фильтрации, где обработка различных областей изображения может выполняться независимо.
Интеграционные возможности и экосистема. Java обладает одной из наиболее зрелых и разнообразных экосистем среди современных языков программирования, что имеет важное значение для разработки научного программного обеспечения [2]. Библиотеки для работы с линейной алгеброй (Apache Commons Math), машинным обучением (Weka, Deeplearning4j), и научными вычислениями (JScience) могут быть легко интегрированы в систему обработки изображений для расширения ее функциональности. Например, для реализации более сложных алгоритмов сегментации, таких как водоразделы или методы на основе машинного обучения, разработчик может использовать существующие библиотеки, не прибегая к реализации с нуля.
Система сборки Maven и репозиторий артефактов Central Repository обеспечивают удобное управление зависимостями и версионностью , что особенно важно при длительном жизненном цикле научного программного обеспечения. Возможность интеграции с системами автоматизированного тестирования (JUnit, TestNG) способствует созданию надежного и сопровождаемого кода, что критически важно для научных приложений, где воспроизводимость результатов является фундаментальным требованием.
Безопасность и надежность. Статическая типизация и строгая объектно-ориентированная природа Java способствуют созданию надежного кода, менее подверженного ошибкам времени выполнения [11]. Компилятор Java выявляет многие потенциальные проблемы на этапе компиляции, что особенно важно при разработке сложных алгоритмов обработки изображений, где ошибки могут привести к искажению научных результатов. Механизм исключений (checked и unchecked exceptions) обеспечивает структурированную обработку ошибок, позволяя разработчику адекватно реагировать на различные сценарии, такие как отсутствие файлов, повреждение данных или недостаток ресурсов.
Модель безопасности Java, включающая менеджер безопасности (Security Manager) и систему загрузчиков классов, позволяет создавать приложения, функционирующие в ограниченной среде, что актуально для веб-приложений и распределенных систем. Хотя в настольных приложениях обработки изображений эти механизмы могут использоваться ограниченно, они предоставляют дополнительные гарантии при развертывании системы в гетерогенных сетевых средах исследовательских институтов.
Инструменты разработки и профилирования. Экосистема Java включает мощные инструменты разработки, такие как IntelliJ IDEA, Eclipse и NetBeans, предоставляющие расширенные возможности рефакторинга, отладки и анализа кода2. Интегрированные профилировщики (JProfiler, VisualVM) позволяют анализировать производительность алгоритмов, выявлять узкие места и оптимизировать использование памяти. Для задач обработки изображений, где производительность критически важна, возможность детального анализа времени выполнения отдельных методов и распределения объектов предоставляет разработчику ценную информацию для оптимизации.
Автоматизированная программная система для распознавания полутоновых изображений на языке Java
Инструменты для статического анализа кода (SpotBugs, Checkstyle) и метрики качества (SonarQube) помогают поддерживать высокий стандарт кода, что особенно важно при совместной разработке в научных группах, где несколько исследователей могут участвовать в создании и модификации системы.
Поддержка современных вычислительных парадигм. Java продолжает развиваться, включает современные языковые конструкции и парадигмы программирования. Поддержка лямбда-выражений и Stream API, появившаяся в Java 8, открывает новые возможности для написания компактного и выразительного кода для обработки данных [2]. Модульная система, представленная в Java 9, позволяет создавать более структурированные и поддерживаемые приложения, что важно для сложных систем обработки изображений, состоящих из множества компонентов.
Проекты Panama и Vector API, находящиеся в стадии активной разработки, направлены на улучшение взаимодействия с нативным кодом и поддержку векторных операций, что может существенно повысить производительность вычислительно интенсивных алгоритмов обработки изображений в будущих версиях Java.
Сравнение с альтернативными платформами. При сравнении Java с другими платформами, часто используемыми для обработки изображений, такими как Python с библиотеками OpenCV и SciPy, или специализированными средами типа MATLAB, проявляются следующие преимущества Java [9; 12]:
-
1) производительность – статическая типизация и JIT-компиляция обеспечивают более высокую производительность по сравнению с интерпретируемым Python, особенно для алгоритмов, интенсивно использующих циклы;
-
2) масштабируемость – сильная система типов и объектно-ориентированная архитектура способствуют созданию более масштабируемых и сопровождаемых решений по сравнению с скриптовыми подходами;
-
3) лицензирование – отсутствие стоимости лицензирования, в отличие от коммерческих продуктов типа MATLAB, снижает барьеры для распространения в академической среде;
-
4) интеграция – возможность интеграции с корпоративными системами и вебприложениями превосходит возможности специализированных математических пакетов.
Практические аспекты применения в научных исследованиях
Опыт разработки системы обработки изображений на Java подтвердил практичность этого выбора для научных исследований. Стандартизированная структура проекта, четкое разделение интерфейсов и реализаций и встроенная документация (Javadoc) способствуют созданию кода, который может быть легко понят и модифицирован другими исследователями . Это соответствует принципам открытой науки и способствует воспроизводимости исследований.
Возможность создания исполняемых JAR-файлов и самодостаточных приложений с помощью инструментов вроде Maven Shade Plugin упрощает распространение разработанного программного обеспечения среди коллег, не имеющих глубоких знаний в программировании. Это особенно важно в междисциплинарных проектах, где биологи и медики могут использовать программные инструменты, разработанные программистами.
Экономическая эффективность. С точки зрения ресурсов научных учреждений использование Java представляет экономически эффективное решение. Отсутствие costs лицен-
Вестник Российского нового университета
Серия «Сложные системы: модели, анализ и управление». 2025. № 4
зирования для Oracle JDK и OpenJDK, наличие бесплатных инструментов разработки и библиотек снижают финансовую нагрузку на исследовательские проекты. Сокращение времени разработки благодаря богатой стандартной библиотеке и доступности готовых компонентов позволяет исследователям быстрее переходить от концепции к рабочему прототипу, что ускоряет научный процесс.
Заключение по преимуществам Java. Реализация системы обработки изображений на Java подтвердила целесообразность выбора этой платформы для научных вычислений в области компьютерного зрения. Кроссплатформенность, производительность, богатая стандартная библиотека, зрелая экосистема и надежность делают Java оптимальным выбором для разработки научного программного обеспечения, предназначенного для длительного использования и распространения в исследовательском сообществе. Сочетание высокоуровневых абстракций с возможностями низкоуровневой оптимизации позволяет создавать эффективные и сопровождаемые решения для обработки изображений, отвечающие требованиям современных биомедицинских исследований.
Заключение
В ходе исследования была успешно разработана и протестирована автоматизированная программная система для обработки и анализа полутоновых изображений на языке Java. Система реализует полный конвейер обработки: подавление шума, контрастирование, бинаризацию, сегментацию и измерение параметров объектов.
Главным достижением является реализация устойчивого алгоритма сегментации связных компонентов с использованием структуры данных Union-Find. Этот алгоритм продемонстрировал высокую точность в разделении перекрывающихся объектов и коррекции ошибок первичного разметки, показав превосходство над классическим подходом по метрике F1-score на 9 %.
Практическая значимость системы подтверждена апробацией на синтетических данных и реальных микрофотографиях клеток. Система корректно идентифицировала целевые объекты и измерила их морфометрические и яркостные параметры, проигнорировав мелкий шум. Показано, что система сохраняет эффективность (F1-score > 0,85) даже при высоком уровне шума (15 %).
К преимуществам реализации на Java относятся кроссплатформенность, отсутствие зависимостей от внешних коммерческих библиотек и легкость интеграции в более сложные программные комплексы. Это делает систему удобным инструментом для исследователей в области биомедицины и компьютерного зрения.
Перспективы развития системы включают:
-
• интеграцию алгоритмов машинного обучения для замены этапа бинаризации на нейросетевой сегментатор;
-
• расширение функционала анализа за счет измерения дополнительных параметров (форма, текстура);
-
• разработку графического пользовательского интерфейса на JavaFX для упрощения работы конечных пользователей;
-
• реализацию распределенной версии системы для обработки больших массивов данных.
Автоматизированная программная система для распознавания полутоновых изображений на языке Java