Ilmiy maqola
O'zbekcha
Open Access
C++ va OpenCV yordamida Cu–Zn qotishmasi donalarining geometrik tahlilini avtomatlashtirish
Annotatsiyalar
Mazkur maqolada Cu–Zn qotishmasining metallografik SEM tasvirida donalarning geometrik xususiyatlarini avtomatik aniqlash uchun ishlab chiqilgan C++ va OpenCV kutubxonalariga asoslangan algoritm taqdim etiladi. Dastur segmentatsiya asosida donalarning yuzasi, perimetri, shakl koeffitsienti va eksentrisitetini hisoblaydi.
В данной статье представлен алгоритм, разработанный на языке C++ с использованием библиотеки OpenCV, для автоматического определения геометрических характеристик зёрен на металлографическом SEM-изображении сплава Cu–Zn. Программа на основе сегментации изображения рассчитывает площадь, периметр, коэффициент формы и эксцентриситет зёрен.
сплав Cu–ZnSEM-изображениеанализ зёренOpenCVC++. Latun – mis va rux asosidagi ikki komponentli qotishma boʻlibsanoatning koʻplab sohalarida keng qoʻllaniladi. Uning fizik-mexanik xossalarixususan mustahkamlikplastiklik va korroziyaga chidamlilik darajasi kristall strukturasi va mikrostrukturaviy tuzilmasi bilan bevosita bog‘liqdir. Mexanik ishlov berishissiqlik bilan ishlov berish yoki bosim ostida deformatsiyalash natijasida latunning donaviy tuzilmasi sezilarli darajada oʻzgara
This article presents an algorithm developed in C++ using the OpenCV library for the automated detection of grain geometric characteristics in the metallographic SEM image of a Cu–Zn alloy. Based on image segmentation, the program calculates the grain area, perimeter, shape coefficient, and eccentricity.
Maqola Mazmuni
“Фан ва технологиялар тараққиёти” Илмий–техникавий журнал №5/2025 209
Информатика и информационно-коммуникационные системы
3. Konturlarni aniqlash. cv::findContours() funksiyasi yordamida tasvirdagi har bir donaning tashqi chegaralari ajratildi. 4. Geometrik parametrlarni hisoblash. Har bir kontur uchun quyidagi xususiyatlar aniqlangan: ▪ Yuza: cv::contourArea() ▪ Perimetr: cv::arcLength()
▪ Shakl koeffitsienti: 𝐾= 4𝜋𝐴
𝑃2 bu yerda 𝐴 – dona yuzasi, 𝑃 – perimetri
▪ Eksentrisitet (choʻzilganlik darajasi): 𝑒= √1 −( 𝑏2
𝑎2), 𝑎=katta oʻq, 𝑏=kichik oʻq
▪ Elips parametrlarini aniqlashda cv::fitEllipse() funksiyasidan foydalanildi. 5. Shovqinni filtrlash. Maydoni 𝐴< 5 𝑝𝑥² yoki perimetri 𝑃< 10 𝑝𝑥 boʻlgan konturlar kichik artefaktlar sifatida baholanib, tahlildan chiqarildi. Yuqoridagi algoritm asosida jami 1655 ta valid dona aniqlanib, ularning har biri uchun geometrik koʻrsatkichlar hisoblab chiqildi. Ushbu ma’lumotlar keyingi statistik tahlil va xulosa chiqarish bosqichlariga asos boʻldi. Algoritm natijasini quyidagi 1-rasmda ham koʻrish mumkin.
Kulrang formatga oʻtkazilgan natijasi
𝐶𝑢−𝑍𝑛 (latun) ning SEM tasviri
Invers binarizatsiya natijasi Donalarning segmentatsiya natijasi Taklif etilgan algoritm Cu–Zn asosidagi qotishmaning mikrostrukturaviy tasvirini avtomatik tahlil qilish uchun ishlab chiqildi SEM mikrografik rasmda sinovdan oʻtkazildi. Algoritm asosida rasm segmentatsiya qilinib, har bir donaning konturi aniqlangan va ularning geometrik parametrlari hisoblab chiqildi.
“Развитие науки и технологий” Научно–технический журнал №5/2025 210
Информатика ва ахборот-коммуникацион тизимлар
Tahlil natijasida jami 1655 ta yaroqli dona ajratildi. Har bir dona boʻyicha yuzasi, perimetri, shakl koeffitsienti va eksentrisitet kabi morfologik koʻrsatkichlar avtomatik ravishda aniqlandi [4]. Quyidagi 1-jadvalda Cu–Zn qotishmasidagi donalarning asosiy statistik tavsiflari keltirilgan.
1-jadval. Cu–Zn qotishmasi donalarining geometrik tahlili natijalari
№ Parametr Qiymat 1. Umumiy dona soni 1655 ta 2. Yuzaning oʻrtacha qiymati 57.07 px² 3. Yuzaning minimal qiymati 5 px² 4. Yuzaning maksimal qiymati 18045 px² 5. Shakl koeffitsienti oʻrtachasi 0.160 6. Eksentrisitet oʻrtachasi 0.812 Tahlil natijalariga koʻra, donalarning yuzasi boʻyicha sezilarli farq mavjud: eng kichik donalar 5 𝑝𝑥², eng yiriklari esa 18045 𝑝𝑥² gacha yetadi. Oʻrtacha yuzaning 57 𝑝𝑥² atrofida boʻlishi, material strukturasida kichik va zich joylashgan donalar ustunligini koʻrsatadi. Shakl koeffitsientining pastligi (0.160) esa shuni bildiradiki, donalarning aksariyati mukammal sferik shaklga ega emas, balki notoʻg‘ri va choʻzilgan geometrik koʻrinishga ega. Bu esa metallga qoʻllanilgan deformatsion yoki issiqlik ishlovining natijasi boʻlishi mumkin. Shuningdek, eksentrisitet oʻrtacha qiymatining yuqoriligi (0.812) donalarning elipssimon yoki choʻzilgan shaklga ega ekanligini bildiradi. Bu holat struktura ichida plastiklik yoki mahalliy deformatsiyalangan zonalar mavjudligini koʻrsatadi. Olingan natijalar Cu–Zn qotishmasining mikrostrukturasi murakkab va oʻzgaruvchan geometrik xususiyatlarga ega ekanligini koʻrsatadi. Donalarning umumiy soni 1655 ta boʻlishi va oʻrtacha yuzaning 57.07 𝑝𝑥² atrofida qayd etilishi materialda kichik oʻlchamli va zich joylashgan donalar ustunligini bildiradi. Bu holat latunning charchoqqa chidamliligi va plastikligi nuqtayi nazaridan ijobiy omil hisoblanadi, chunki mayda donalar deformatsiyaga nisbatan barqarorroq boʻladi. Yuzaning minimal va maksimal qiymatlaridagi katta farq (5 𝑝𝑥² dan 18045 𝑝𝑥² gacha) esa materialda donalarning gibrid tuzilmasi – ya’ni bir vaqtda mavjud boʻlgan katta va kichik donalar mavjudligini bildiradi. Bu holat qotishmaga issiqlik bilan ishlov berish jarayonida donalarning notekis oʻsishi yoki qayta kristallanish jarayonining toʻliq yakunlanmaganligidan dalolat beradi. Shakl koeffitsienti oʻrtachasi 𝐾= 0.160 boʻlishi donalarning aksariyati sferik shakldan ancha farq qilishini bildiradi. Ideal doira shaklida boʻlgan donalarda bu koeffitsient 1 ga yaqin boʻladi. Shuning uchun aniqlangan qiymat natijasi materialning deformatsiyaga uchragan, choʻzilgan yoki bir-biriga bosilgan donalardan tashkil topganligini koʻrsatadi. Bu holat, ayniqsa, plastik deformatsiyalangan zonalarni aniqlashda muhim diagnostik mezon boʻla oladi. Eksentrisitetning yuqori oʻrtacha qiymati (𝑒= 0.812) esa koʻpchilik donalarning elipssimon yoki choʻzilgan shaklda ekanligini tasdiqlaydi.[2][5] Eksentrisitet 𝑒→0 boʻlsa, shakl aylanasimon, 𝑒→1 boʻlsa, juda choʻzilgan elips boʻladi. Shu sababli natijada qayd etilgan qiymat latunning mikrostrukturasida yoʻnalgan deformatsiya izlari va choʻzilgan kristallitlar mavjudligini koʻrsatadi. Bu holat materialga plastik ishlov berilganidan soʻnggi holatni tahlil qilishda foydali boʻladi. Umuman olganda, ishlab chiqilgan algoritm donalarni aniqlash va ularning asosiy morfologik parametrlarini hisoblashda yuqori aniqlik va barqarorlik koʻrsatdi. Qayta ishlangan rasmda konturlar aniq chizilgan, geometrik xususiyatlar esa ishonchli statistik tahlilga asos boʻla oldi. Mazkur tadqiqotda Cu–Zn qotishmasining metallografik SEM tasvirida donalarning geometrik xususiyatlarini avtomatik aniqlash uchun C++ dasturlash tili va OpenCV kutubxonasidan foydalangan holda samarali algoritm ishlab chiqildi. Taklif etilgan usul real tasvir asosida sinovdan oʻtkazilib, quyidagi asosiy natijalarga erishildi:
“Фан ва технологиялар тараққиёти” Илмий–техникавий журнал №5/2025 211
Информатика и информационно-коммуникационные системы
Tasvirdagi 1655 ta dona muvaffaqiyatli segmentatsiya qilindi; Har bir dona uchun yuzasi, perimetri, shakl koeffitsienti va eksentrisiteti kabi geometrik parametrlar avtomatik hisoblandi; Oʻrtacha eksentrisitetning yuqori qiymati (0.812) va shakl koeffitsientining past boʻlishi (0.160) natijasida donalarning elipssimon va choʻzilgan shakllarda ekanligi aniqlandi; Tahlil qilingan tasvirdagi donalar oʻlchami keng diapazonda taqsimlangani material strukturasida donalarning notekisligi va deformatsiyalangan zonalar mavjudligini koʻrsatdi. Ushbu algoritm metallografik tahlil sohasida qoʻlda bajariladigan subyektiv baholashlardan voz kechish, ish samaradorligini oshirish va natijalarning takrorlanuvchanligini ta’minlashda muhim ahamiyatga ega [1],[6]. Metallarni sifat nazorati, mikrostrukturani oʻrganish va modellashtirishda bu kabi avtomatlashtirilgan yondashuvlar samarali vosita boʻlib xizmat qilishi mumkin. Kelgusida ushbu algoritmga fazaviy ajratish, sun’iy intellekt yordamida donalarni klassifikatsiya qilish yoki deformatsiyalangan zonalarni avtomatik aniqlash modullarini qoʻshish orqali yanada takomillashtirish rejalashtirilmoqda [6]. C++ da OpenCV yordamida yozilgan kod matni quyidagicha: #include <opencv2/opencv.hpp> #include <iostream> #include <iomanip> #include <cmath> int main() { // 1. Asl rasmni yuklash cv::Mat original = cv::imread("C:/Users/User/Desktop/477.png"); if (original.empty()) { std::cerr << "Rasm yuklanmadi!" << std::endl; return -1; } cv::imshow("1. Asl rasm", original); // 2. Kulrangga oʻtkazish cv::Mat gray; cv::cvtColor(original, gray, cv::COLOR_BGR2GRAY); cv::imshow("2. Kulrang rasm", gray); // 3. Invers binarizatsiya cv::Mat binary; cv::threshold(gray, binary, 50, 255, cv::THRESH_BINARY_INV); cv::imshow("3. Binarizatsiya (invert)", binary); // 4. Segmentatsiya std::vector<std::vector<cv::Point>> contours; cv::findContours(binary, contours, cv::RETR_EXTERNAL, cv::CHAIN_APPROX_SIMPLE); // 5. Segmentatsiyalangan rasm cv::Mat segmented = original.clone(); cv::drawContours(segmented, contours, -1, cv::Scalar(0, 0, 255), 1); cv::imshow("4. Segmentatsiya", segmented); // 6. Geometrik xususiyatlar statistikasi int validCount = 0; double sumArea = 0, sumShape = 0, sumEcc = 0; double minArea = DBL_MAX, maxArea = 0; int eccCount = 0; for (const auto& c : contours) { double area = cv::contourArea(c);
“Развитие науки и технологий” Научно–технический журнал №5/2025 212
Информатика ва ахборот-коммуникацион тизимлар
double perimeter = cv::arcLength(c, true); if (area < 5.0 || perimeter < 10.0) continue; // Shovqinni inkor etish double shapeCoeff = (perimeter == 0) ? 0 : 4 * CV_PI * area / (perimeter * perimeter); double ecc = 0.0; if (c.size() >= 5) { cv::RotatedRect ell = cv::fitEllipse(c); double a = std::max(ell.size.width, ell.size.height) / 2.0; double b = std::min(ell.size.width, ell.size.height) / 2.0; if (a > 0) { ecc = sqrt(1.0 - (b * b) / (a * a)); sumEcc += ecc; eccCount++; } } sumArea += area; sumShape += shapeCoeff; validCount++; if (area < minArea) minArea = area; if (area > maxArea) maxArea = area; } // 7. Statistik xulosalar std::cout << "\n?? DONALARNING GEOMETRIK TAHLILI NATIJALARI:\n"; std::cout << "===========================================\n"; std::cout << " Umumiy dona soni : " << validCount << "\n"; std::cout << " Yuzaning oʻrtacha qiymati : " << (validCount > 0 ? sumArea / validCount : 0) << " px\n"; std::cout << " Yuzaning minimal qiymati : " << minArea << " px\n"; std::cout << " Yuzaning maksimal qiymati : " << maxArea << " px\n"; std::cout << " Shakl koeff. oʻrtachasi : " << (validCount > 0 ? sumShape / validCount : 0) << "\n"; if (eccCount > 0) std::cout << " Eksentrisitet oʻrtachasi : " << (sumEcc / eccCount) << "\n"; else std::cout << " Eksentrisitet oʻrtachasi : 0.0 (ellipse moslashtirib boʻlmadi)\n"; // 8. Segmentatsiyalangan rasmni saqlash cv::imwrite("C:/Users/User/Desktop/477_segmented_final.png", segmented); // 9. Kutish cv::waitKey(0); cv::destroyAllWindows(); return 0; } Ushbu tadqiqotda Cu–Zn qotishmasining metallografik SEM tasviridagi donalarni avtomatik tahlil qilish uchun C++ dasturlash tili va OpenCV kutubxonasi asosida algoritm ishlab chiqildi. Segmentatsiya asosida jami 1655 ta yaroqli dona ajratilib, ularning yuzasi, perimetri, shakl koeffitsienti va eksentrisiteti kabi morfologik koʻrsatkichlari aniqlandi. Olingan natijalar latun mikrostrukturasi murakkab va notekis geometriyaga ega ekanligini koʻrsatdi. Donalarning elipssimon shakli va oʻzgaruvchan oʻlchamlari materialning deformatsiyaga uchragan zonalari mavjudligini bildiradi. Taklif etilgan algoritm metallografik tahlilni
“Фан ва технологиялар тараққиёти” Илмий–техникавий журнал №5/2025 213
Информатика и информационно-коммуникационные системы
avtomatlashtirish, inson omiliga bog‘liq xatoliklarni kamaytirish va statistik barqarorlikni ta’minlashda samarali vosita boʻla oladi
Adabiyotlar (8)
- 1. Gonzalez, R.C. Digital image processing: textbook / R.C. Gonzalez, R.E. Woods. – 4th ed. – Pearson Education, 2018. – 1168 p. – ISBN 978-0-13-335672-4.
- 2. Chen, L. Automatic microstructure segmentation in metallographic images using deep learning techniques / L. Chen, X. Wang, H. Zhang // Materials Characterization. – 2021. – Vol. 175. – P. 111052. – DOI: 10.1016/j.matchar.2021.111052.
- 3. Бернштейн, М.Л. Металловедение и термическая обработка стали: справочник. Т.
- 1. Методы испытаний и исследований / М.Л. Бернштейн, А.Г. Рахштадт. – М.: Металлургия, 1983. – 352 с.
- 4. Каримов, С.Я. Извлечение и оценка морфологических параметров частиц на SEMизображениях с применением C++ и OpenCV / С. Я. Каримов // Journal of New Century Innovations. – 2025. – № 78(3). – С. 96–102.
- 5. Karimov, S.Y. Mis qotishmalarining SEM tasvirlarida donalarni kompyuter koʻrish asosida topologik klassifikatsiyasi / S.Y. Karimov // Oriental Renaissance: Innovative, Educational, Natural and Social Sciences. – 2025. – № 5. – B. 174-181.
- 6. Хасанов, О.Б. Рақамли тасвирларни қайта ишлаш: назария ва амалиёт / О. Б. Хасанов, А. Р. Турсунов. – Тошкент: Фан ва технология, 2020. – 248 б. – ISBN 978-9943-7065-40-7. Samandarov Ilxomjon Rasulovich – Toshkent davlat texnika universiteti Olmaliq filiali “Matematika va tabiiy fanlar” kafedrasi dotsenti Karimov Sardor Yashinovich – Toshkent davlat texnika universiteti Olmaliq filiali “Matematika va tabiiy fanlar” kafedrasi assistenti Tel: +998 99 404 91
- 18 E-mail: mr_man89@mail.ru “Развитие науки и технологий” Научно–технический журнал №5/2025 214