JOURNAL OF NEW CENTURY INNOVATIONS
Volume–78_Issue-3_June-2025
96
96
ИЗВЛЕЧЕНИЕ И ОЦЕНКА МОРФОЛОГИЧЕСКИХ
ПАРАМЕТРОВ ЧАСТИЦ НА SEM-ИЗОБРАЖЕНИЯХ
С ПРИМЕНЕНИЕМ C++ И OPENCV
Каримов Сардор Яшинович
Ассистент кафедры "Математика и естественные науки"
Ташкентского государственного
технического университета Алмалыкского филиала
E-mail:
Аннотация
В данной статье рассматривается методика количественной оценки степени
деформации формы частиц на изображениях, полученных с помощью
сканирующего электронного микроскопа (SEM). Для обработки изображений
используется язык программирования C++ и библиотека OpenCV. В рамках
исследования проводится предварительная обработка изображений, сегментация
частиц и извлечение морфологических параметров, таких как эксцентриситет,
компактность и коэффициент формы. Представленные результаты позволяют
сопоставлять степень деформации частиц в зависимости от условий
технологической обработки медных сплавов.
Ключевые слова:
форма частиц, SEM-изображения, OpenCV, C++,
морфологический анализ, сегментация изображений, степень деформации
Введение
Форма и размеры микроструктурных частиц, наблюдаемых на SEM-
изображениях металлических образцов, являются важными показателями,
характеризующими степень пластической деформации материала. В частности,
при анализе медных сплавов изменения формы зерен могут указывать на
особенности технологической обработки, такие как холодная прокатка, отжиг
или интенсивное пластическое деформирование.
Классические методы количественной оценки микроструктуры часто
требуют значительного времени и ручной работы. В то время как автоматизация
анализа изображений с использованием методов компьютерного зрения
позволяет значительно повысить точность и воспроизводимость результатов.
Библиотека OpenCV на языке C++ предоставляет широкий спектр инструментов
для
обработки
изображений,
извлечения
контуров
и
вычисления
морфологических характеристик частиц.
Настоящее исследование направлено на разработку и реализацию
алгоритма для автоматического анализа SEM-изображений, с целью
JOURNAL OF NEW CENTURY INNOVATIONS
Volume–78_Issue-3_June-2025
97
97
количественной оценки степени деформации формы частиц. В качестве
ключевых метрик используются параметры формы, такие как круглотность,
эксцентриситет и компактность, позволяющие объективно сравнивать состояние
микроструктуры при различных режимах обработки.
Материалы и методы
В качестве исследуемого материала использовались изображения
микроструктуры медных сплавов, полученные с помощью сканирующего
электронного микроскопа (SEM) при различной степени пластической
деформации. Все изображения имели высокое разрешение (не менее 1024×1024
пикселей) и сохранялись в форматах PNG или JPEG.
Для обработки SEM-изображений использовалась библиотека OpenCV
версии 4.x в среде программирования C++, с компиляцией и отладкой кода в
Visual Studio 2022. Алгоритм анализа включал в себя следующие этапы:
1. Предобработка изображений:
Преобразование в оттенки серого (cv::cvtColor)
Фильтрация шума с помощью медианного фильтра (cv::medianBlur)
Усиление контраста с применением гистограммной эквализации
(cv::equalizeHist)
2. Бинаризация и сегментация:
Применение метода Оцу (cv::threshold с THRESH_OTSU)
Морфологические операции (эрозия и дилатация) для улучшения
разделения частиц (cv::morphologyEx)
3. Выделение контуров и расчет морфологических параметров:
Определение границ частиц с помощью cv::findContours
Вычисление площади, периметра, и других характеристик для каждой
частицы
Расчет коэффициентов формы, таких как:
Коэффициент округлости:
C =
4π⋅Площадь
x
2
2
Компактность: отношение площади к минимальному ограничивающему
прямоугольнику
Эксцентриситет: основанный на аппроксимации эллипсом через
cv::fitEllipse
Классификация и визуализация:
Частицы с высокой степенью вытянутости и низкой округлостью
интерпретировались как более деформированные
Результаты сохранялись в виде изображений с наложенными метками и в
виде таблиц с параметрами частиц
JOURNAL OF NEW CENTURY INNOVATIONS
Volume–78_Issue-3_June-2025
98
98
Результаты и обсуждение
На рисунке 2 представлено исходное SEM-изображение, преобразованное в
градации серого, что является необходимым этапом перед бинаризацией и
морфологическим анализом.
Рисунок 2. Изображение после преобразования в оттенки серого.
После фильтрации и пороговой обработки по методу Оцу были получены
бинарные изображения (рисунок 3), на которых частицы успешно отделены от
фона. Применение морфологических операций позволило устранить шум и
соединенные элементы, повысив точность последующего выделения контуров.
Рисунок 3. Бинаризованное изображение с применением метода Оцу.
Рисунок 4. Изображение после морфологической фильтрации.
В результате выполнения алгоритма были выделены контуры частиц и
вычислены морфологические параметры, включая площадь, периметр,
коэффициент округлости и эксцентриситет. Пример визуализации контуров и
идентификаторов частиц представлен на рисунке 5.
Рисунок 6. Окончательная визуализация с выделенными частицами и
нанесёнными метками.
1-рис. Оригинал
рисунок
2-рис. Исходное
SEM-изображение,
преобразованное в
градации серого
3-рис.
Бинаризованное
изображение с
применением метода
Оцу
4-рис. Изображение после
морфологической фильтрации
5-рис. Пример
визуализации контуров и
идентификаторов частиц
JOURNAL OF NEW CENTURY INNOVATIONS
Volume–78_Issue-3_June-2025
99
99
В таблице 1 приведены образцы полученных количественных
характеристик для некоторых частиц.
Таблица 1. Морфологические характеристики отдельных частиц
ID
Площадь
(пикс)
Периметр
(пикс)
Округлость Экцентриситет
1
63,50
35,90
0,62
0,83
2
108,50
43,56
0,72
0,31
3
83,00
38,63
0,70
0,84
…
…
…
…
…
Анализ показал, что частицы с высоким значением эксцентриситета (> 0.8)
и низким значением округлости (< 0.5) характеризуются значительной степенью
вытянутости, что свидетельствует о пластической деформации. В то же время
частицы с округлостью, близкой к 1, имеют практически сферическую форму и,
вероятно, подвергались минимальной деформации.
Выводы
Разработанный алгоритм на основе библиотеки OpenCV и языка C++
позволяет эффективно анализировать SEM-изображения микроструктур медных
сплавов. Полученные морфологические параметры (эксцентриситет, округлость,
компактность) дают количественную оценку степени деформации частиц.
Автоматизированный подход обеспечивает воспроизводимость анализа и
позволяет сопоставлять микроструктурные изменения, происходящие в
результате различных режимов технологической обработки, таких как холодная
прокатка или интенсивное пластическое деформирование.
Программная реализация
Анализ изображений был реализован на языке программирования C++ с
использованием библиотеки OpenCV. Код включает этапы предобработки,
сегментации, выделения контуров и вычисления морфологических параметров.
Текст программы приведён ниже:
#include
<opencv2/opencv.hpp>
#include
<iostream>
#include
<vector>
#include
<cmath>
#include
<iomanip>
using
namespace
cv;
using
namespace
std;
int
main() {
JOURNAL OF NEW CENTURY INNOVATIONS
Volume–78_Issue-3_June-2025
100
100
// 1. Rasmlarni yuklash
Mat
image = imread(
"1.jpg"
);
if
(image.empty()) {
cout
<<
"Rasm topilmadi!"
<<
endl;
return
-1;
}
Mat
gray, binary, morph;
// 2. Gray scale
cvtColor(image, gray,
COLOR_BGR2GRAY
);
imshow(
"1. Gray Image"
, gray);
// 3. Shovqinni olib tashlash
medianBlur(gray, gray, 5);
// 4. Threshold (Otsu)
threshold(gray, binary, 0, 255,
THRESH_BINARY
+
THRESH_OTSU
);
imshow(
"2. Binarized Image"
, binary);
// 5. Morfologik tozalash
Mat
kernel = getStructuringElement(
MORPH_ELLIPSE
,
Size
(3, 3));
morphologyEx(binary, morph,
MORPH_OPEN
, kernel);
imshow(
"3. Morfologik Tozalangan"
, morph);
// 6. Konturlar
vector
<
vector
<
Point
>> contours;
vector
<
Vec4i
> hierarchy;
findContours(morph, contours, hierarchy,
RETR_EXTERNAL
,
CHAIN_APPROX_SIMPLE
);
// 7. Chiqish tasviri
Mat
output = image.clone();
// 8. Natijalarni saqlash uchun massiv
struct
Particle
{
int
id;
double
area;
double
perimeter;
JOURNAL OF NEW CENTURY INNOVATIONS
Volume–78_Issue-3_June-2025
101
101
double
circularity;
double
eccentricity;
};
vector
<
Particle
> particles;
for
(
size_t
i = 0; i < contours.size(); ++i) {
double
area = contourArea(contours
[
i
]
);
double
perimeter = arcLength(contours
[
i
]
,
true
);
if
(area < 50 || perimeter == 0)
continue
;
double
circularity = 4 *
CV_PI
* area / (perimeter * perimeter);
double
eccentricity = 0.0;
if
(contours
[
i
]
.size() >= 5) {
RotatedRect
ellipseFit = fitEllipse(contours
[
i
]
);
double
a = max(ellipseFit.size.width, ellipseFit.size.height) / 2.0;
double
b = min(ellipseFit.size.width, ellipseFit.size.height) / 2.0;
eccentricity = sqrt(1 - (b * b) / (a * a));
}
particles.push_back({
static_cast
<
int
>(i + 1), area, perimeter, circularity,
eccentricity });
// Belgilash
drawContours(output, contours, (
int
)i,
Scalar
(0, 255, 0), 2);
Moments
mu = moments(contours
[
i
]
);
int
cx =
static_cast
<
int
>(mu.m10 / mu.m00);
int
cy =
static_cast
<
int
>(mu.m01 / mu.m00);
putText(output, to_string(i + 1),
Point
(cx - 10, cy),
FONT_HERSHEY_SIMPLEX
, 0.5,
Scalar
(0, 0, 255), 1);
}
// 9. Jadval shaklida umumiy ma’lumot
cout
<<
left
<<
setw(10)
<<
"ID"
<<
setw(15)
<<
"Area"
<<
setw(15)
<<
"Perimeter"
<<
setw(15)
<<
"Circularity"
<<
setw(15)
<<
"Eccentricity"
<<
endl;
JOURNAL OF NEW CENTURY INNOVATIONS
Volume–78_Issue-3_June-2025
102
102
cout
<<
string
(70,
'-'
)
<<
endl;
for
(
const
auto
& p : particles) {
cout
<<
left
<<
setw(10)
<<
p.id
<<
setw(15)
<<
fixed
<<
setprecision(2)
<<
p.area
<<
setw(15)
<<
p.perimeter
<<
setw(15)
<<
p.circularity
<<
setw(15)
<<
p.eccentricity
<<
endl;
}
// 10. Yakuniy tasvir
imshow(
"4. Yakuniy Natija"
, output);
imwrite(
"output.jpg"
, output);
cout
<<
"\nBarcha tasvirlar ekranda ko‘rsatildi. 'output.jpg' saqlandi."
<<
endl;
waitKey(0);
// Ekrandagi tasvirlar yopilmasin
return
0;
}
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
1.
Гонсалес Р., Вудс Р. Цифровая обработка изображений. – Москва: Техносфера, 2005. –
1072 с.
2.
Брэдски Г., Кэхлер А. Изучаем OpenCV. Компьютерное зрение в реальном времени с
помощью библиотеки OpenCV. – СПб.: Питер, 2010. – 464 с.
3.
Russ J.C. The Image Processing Handbook. – CRC Press, 2016. – 1040 p.
4.
Седов А.А., Морозов П.Н., Хромов А.В. Автоматизация анализа микроструктуры
металлических материалов на основе SEM-изображений // Металлургия и материалы. –
2020. – №2. – С. 42–47.
5.
Мишин А.А., Соловьев В.П. Методы морфологического анализа в оценке структуры
материалов // Труды МАИ, 2018. – №103.
6.
Otsu N. A threshold selection method from gray-level histograms // IEEE Trans. on Systems,
Man, and Cybernetics, 1979. – Vol. 9(1). – P. 62–66.
7.
Haralick R.M., Shapiro L.G. Computer and Robot Vision. Vol. 1. – Addison-Wesley, 1992.
8.
Каримов С.Я. Mis qotishmalarining sem tasvirlarida donalarni kompyuter ko‘rish asosida
topologik klassifikatsiyasi// ORIENS Volume 5 ISSUE 4. 2025. 174-181 с.
9.
Каримов С.Я. Количественный Анализ Микроструктуры Зерна В Медных Сплавах С
Помощью Библиотеки Opencv В Среде С++ // Periodica journal of modern philosopy,
social sciences and humanities. ISSN NO:2720-4030. Volume 41 April, 2025.