logo

Tasvirlarga morfologik ishlov berish algoritmlari. Algoritmlar uchun dasturiy ta`minot ishlab chiqish.

Yuklangan vaqt:

08.08.2023

Ko'chirishlar soni:

0

Hajmi:

243.2607421875 KB
Tasvirlarga morfologik ishlov berish algoritmlari. Algoritmlar
uchun dasturiy ta`minot ishlab chiqish.
Kirish
1. Nazariy qism
1.1. Tasvirlarga   morfologik   ishlov   berish   algoritmlari   haqida   asosiy
tushunchalar
1.2. Eroziya va dilitatsiya.
2. Amaliy qism
2.1. Morfologik ishlov berish algoritmining dasturiy ta`minotini ishlab
chiqish(erosiya va dilitatsiya) 
Xulosa 
Foydalanilgan adabiyotlar ro’yxati
Kirish 
1 Hozirgacha   biz   tasvirni   qayta   ishlash   -   yaxshilangan   tasvirni   olish   yoki
undan   qimmatli   ma'lumotlarni   olish   uchun   tasvir   ustida   muayyan   harakatlar
to'plamini   amalga   oshirish   texnikasi   haqida   o'qidik.   Kirish   tasvirdir   va   chiqish
yaxshilangan tasvir yoki shu bilan bog'liq xususiyatlar bo'lishi mumkin.
Kompyuter   algoritmlari   raqamli   tasvirni   qayta   ishlashda   eng   muhim   rol
o'ynashini   bilish   juda   muhimdir.   Ishlab   chiquvchilar   raqamli   tasvirni   aniqlash,
tasvirni   tahlil   qilish,   tasvirni   qayta   tiklash,   tasvirni   tiklash,   tasvirni   yaxshilash,
tasvir   ma'lumotlarini   siqish,   tasvirni   spektral   baholash   va   tasvirni   baholash   kabi
turli   xil   vazifalarni   hal   qilish   uchun   bir   nechta   algoritmlardan   foydalanmoqda   va
amalga   oshirmoqda.   Ba'zan   algoritmlar   to'g'ridan-to'g'ri   kitobdan   yoki   bir   nechta
algoritm   funktsiyalarining   moslashtirilgan   birlashtirilgan   versiyasi   bo'lishi
mumkin.   Tasvirga   ishlov   berish   axborotni   qayta   ishlashning     har   qanday   shakli
bo'lib   ,   ular   uchun   kiritilgan   ma'lumotlar   rasm,   masalan,   fotosuratlar   yoki   video
ramkalardir.   Tasvirni   qayta   ishlash   chiqishda   tasvirni   olish   uchun   ham   (masalan,
chop   etishga   tayyorlash,   efirga   uzatish   va   h.k.)   va   boshqa   ma'lumotlarni   olish
uchun   ham   (masalan,   matnni   aniqlash,   maydondagi   hujayralar   soni   va   turini
hisoblash) amalga oshirilishi mumkin. mikroskop va boshqalar). va hokazo). Statik
2D   tasvirlar   bilan   bir   qatorda,   video   kabi   vaqt   o'tishi   bilan   o'zgarib   turadigan
tasvirlarni ham qayta ishlashingiz kerak.
2 1. Nazariy qism.
1.1. Tasvirlarni qayta ishlashning morfologik usuli haqida asosiy
tushunchalar
Morfologiya   so'zi   odatda   biologiyaning   hayvon   va   o'simliklarning   tuzilishi
formulalarini   o'rganadigan   sohasi   deb   ataladi.   Biz   ushbu   atamani   matematik
morfologiya   kontekstida   ishlatamiz,   bu   ob'ektlarning   chegaralari,   skeletlari   yoki
qavariq korpuslari kabi shaklini tasvirlash va tavsiflash uchun foydali bo'lgan aniq
tasvir komponentlarini olish uchun vositadir. Shuningdek, biz tasvirlarni dastlabki
va   keyingi   qayta   ishlash   bosqichlarida   qo'llaniladigan   morfologik   usullarni   ko'rib
chiqamiz, masalan, morfologik filtrlash, ingichkalash va kesish.
Ushbu   kurs   ishi   faqat   tasvirni   qayta   ishlashga   qaratilgan   usullardan   (ya'ni,
tasvirlar   jarayonning   ham   kirishi,   ham   chiqishi   bo'lsa)   tasvirlarni   tahlil   qilish
usullariga   o'tishni   boshlaydi,   bunda   jarayonlarning   chiqishi   allaqachon   tarkibdan
olingan   tavsiflovchi   atributlardir.   tasvirlardan.   Shu   ma'noda,   morfologiya
tasvirning "ma'nosini" chiqarish uchun ishlatiladigan matematik vositalarning asosi
bo'lib xizmat qiladi. 
Matematik   morfologiyada   to‘plamlar   nazariyasi   tilidan   foydalaniladi.
Morfologiya   bir   nechta   tasvirlash   vazifalari   uchun   yagona,   kuchli   yondashuvni
taklif   qiladi.   Matematik   morfologiyadagi   to'plamlar   tasvirdagi   ob'ektlarga   mos
keladi.   Masalan,   tasvirning   ikkilik   (ikki   darajali,   ya'ni   faqat   0   yoki   1   qiymatli
elementlarni o'z ichiga olgan) barcha oq piksellari to'plami uning to'liq morfologik
tavsifi   variantlaridan   biridir.   Ikkilik   tasvirlar   ko'plab   kamchiliklarni   o'z   ichiga
olishi   mumkin.   Xususan,   oddiy   chegaralash   natijasida   hosil   bo'lgan   ikkilik
hududlar   shovqin   va   to'qimalar   bilan   buziladi.   Morfologik   tasvirni   qayta   ishlash
tasvirning shakli  va  tuzilishini   hisobga  olgan holda  ushbu  kamchiliklarni   bartaraf
etish   maqsadlarini   ko'zlaydi.   Ushbu   texnikalar   kulrang   rangdagi   tasvirlarga
kengaytirilishi mumkin.
3 Morfologik   tasvirni   qayta   ishlash   -   bu   tasvirdagi   xususiyatlarning   shakli
yoki   morfologiyasi   bilan   bog'liq   chiziqli   bo'lmagan   operatsiyalar   to'plami.
Morfologik   operatsiyalar   faqat   piksel   qiymatlarining   nisbiy   tartibiga   tayanadi,
ularning   raqamli   qiymatlariga   emas,   shuning   uchun   ayniqsa,   ikkilik   tasvirlarni
qayta   ishlashga   mos   keladi.   Morfologik   operatsiyalar   kulrang   shkaladagi
tasvirlarga   ham   qo'llanilishi   mumkin,   chunki   ularning   yorug'lik   uzatish
funktsiyalari  noma'lum   va  shuning  uchun  ularning  mutlaq  piksel  qiymatlari   qiziq
emas   yoki   ahamiyatsiz.     Morfologik   usullar   strukturaviy   element   deb   ataladigan
kichik   shakl   yoki   shablonga   ega   tasvirni   tekshiradi   .   Strukturalash   elementi
tasvirning   barcha   mumkin   bo'lgan   joylariga   joylashtirilgan   va   u   piksellarning
tegishli   qo'shniligi   bilan   taqqoslanadi.   Ba'zi   operatsiyalar   elementning   qo'shni
hududga "mos kelishini" tekshiradi, boshqalari esa u "urishini" yoki kesib o'tishini
tekshiradi.Ikkilik   tasvirdagi   morfologik   operatsiya   yangi   ikkilik   tasvirni   yaratadi,
unda   piksel   nolga   teng   bo'lmagan   qiymatga   ega   bo'ladi,   agar   kirish   tasvirining
o'sha joyida sinov muvaffaqiyatli bo'lsa.
Konfiguratsiya   element   nol   yoki   bir   qiymati   bilan   kichik   ikkilik   tasvir,
piksel, ya'ni kichik Matritsa, har bir hisoblanadi:
 Matritsaning o'lchamlari strukturaviy elementning o'lchamini belgilaydi .
 Birliklar va nollarning naqshlari tuzilish elementining shaklini belgilaydi .
 A
n   kelib   chiqishi   odatda   kelib   chiqishi   qurish   element   tashqarida   bo'lishi
mumkin bo'lsada, qurish elementning, odatda, uning piksel biridir.
4 (1-rasm)
Umumiy   amaliyot   -   strukturaviy   matritsaning   g'alati   o'lchamlari   va
matritsaning   markazi   sifatida   belgilangan   kelib   chiqishi.   Struktura   elementlari
tasvirni   morfologik   qayta   ishlashda   chiziqli   tasvirni   filtrlashda   konvolyutsiya
yadrolari bilan bir xil rol o'ynaydi.
Strukturalash elementi ikkilik tasvirga joylashtirilganda, uning har bir pikseli
tuzilish   elementi   ostidagi   mahallaning   mos   keladigan   pikseli   bilan   bog'lanadi.
Konfiguratsiya   element   deyiladi   mos   bo'lsa,   uning   piksel,   har   bir   1   o'rnatilgan
uchun, tasvirni, tegishli tasvir piksel qurish element deyiladi, Xuddi shuningdek 1.
hisoblanadi   tekkanda   yoki   kesishadi   bir   tasvir,   agar   biri   uchun   kamida   uning
piksellari 1 ga o'rnatilgan bo'lsa, mos keladigan tasvir pikseli ham 1 ga teng.
(2-rasm)Strukturalash elementlari s  
1   va s  
2   bo'lgan binar tasvirni o'rnatish va urish  
Strukturaviy   elementning   nol   qiymatli   piksellari   e'tiborga   olinmaydi,   ya'ni
tegishli tasvir qiymati ahamiyatsiz bo'lgan nuqtalarni ko'rsatadi.
Eroziya   va   kengayish.     B ir   tomonlama   tasvir   bo'lgan   F   tomonidan
konfiguratsiya   element   s   (yuritiladi   f   s   ),   yangi   ikkilik   tasvirni   ishlab
chiqaradi   g   =   f   s   barcha   joylarda   bo'lgan   (bilan   x, y   bir   konfiguratsiya   element
ning   kelib   chiqishi)   narsaga   qurish   elementini   s   uvishishi   kiritish   tasvir   f   ,
5 ya'ni   g(x,y)   =   1   s   f ga   mos   keladi   ,   aks   holda   0   ga   to'g'ri   keladi   ,   barcha   piksel
koordinatalari (   x,y   )   uchun takrorlanadi.
(3-rasm )    Kulrang rangdagi rasm          eroziya: 2 × 2 kvadrat tuzilish elementi
Kichkina   (masalan,   2×2   -   5×5)   kvadrat   tuzilish   elementlari   bilan   eroziya,
mintaqalarning   ichki   va   tashqi   chegaralaridan   piksellar   qatlamini   olib   tashlash
orqali   tasvirni   qisqartiradi.   Turli   hududlar   orasidagi   teshiklar   va   bo'shliqlar
kattalashadi va kichik detallar yo'q qilinadi:
(4-rasm)Eroziya: 3×3 kvadrat tuzilish elementi
Kattaroq   strukturaviy   elementlar   aniqroq   ta'sir   ko'rsatadi,   katta   tuzilish
elementi   bilan   eroziya   natijasi   bir   xil   shakldagi   kichikroq   tuzilish   elementi
yordamida takrorlangan eroziya natijasida olingan natijaga o'xshaydi.  Agar s 1 va s
6 2   bir   xil   shakldagi,   s   2   o‘lchami   s   1   dan   ikki   baravar   katta   bo‘lgan   juft   tuzilish
elementlari bo‘lsa , u holda
f   s  
2   ≈ (   f   s  
1   )     s  
1   .
Eroziya ikkilik tasvirdan kichik o'lchamdagi tafsilotlarni olib tashlaydi, lekin
bir   vaqtning   o'zida   qiziqish   hududlari   hajmini   ham   kamaytiradi.   Asl   tasvirdan
eroziyalangan tasvirni ayirib, har bir mintaqaning chegaralarini topish mumkin: b
=f - (f s ) bu erda f - hududlarning tasviri, s - 3 × 3 tuzilish elementi va b - rasm.
mintaqa chegaralari.
(5-rasm)Tasvir   tafsilotlarini   olib   tashlash   uchun   eroziyani   qo'llang.   (a)
486x486   piksel   o'lchamdagi   mikrosxemani   ulash   niqobining   ikkilik   tasviri.   (b)   -
(d)   birliklar   bilan   to'ldirilgan   mos   ravishda   11x11,   15x15   va   45x45   piksel
o'lchamdagi kvadrat uchun tasvir eroziyasi natijalari (a)
F   tasvirining   yassi   ibtidoiy   b   bo‘ylab   ixtiyoriy   nuqtada   (x,   y)   kulrang
shkalasi   eroziyasi,   ibtidoiyning   markazi   (x,   y)   nuqtada   bo‘lganda   b   ga   to‘g‘ri
keladigan   mintaqadagi   f   ning   minimal   qiymati   sifatida   aniqlanadi.   Eroziya   f   0   b
bilan belgilanadi va formula bilan beriladi 
(f Q b)(x, y) = min {f( x + s, y +1)},
(s,t )Eb
7 Bu   erda   x   va   y   bo'limlaridagi   korrelyatsiya   protsedurasiga   o'xshab,   barcha
qiymatlar  ibtidoiy  b  ning  markazi   f  ning  barcha  elementlari  ustidan   o'tishi  uchun
o'tadi. Shunday qilib, b bo'ylab f eroziyani topish uchun tasvirning har bir pikseliga
b markazni ketma-ket joylashtirish va bu holatda ibtidoiy qoplagan qo'shnilikdagi
nuqtalarda f ning minimal qiymatini topish kerak. Misol uchun, agar b 3x3 kvadrat
ibtidoiy   bo'lsa,   siz   ibtidoiy   markazda   joylashgan   3x3   pikselli   maydonda   9   f
qiymatining eng kichikini topmoqchisiz.
Xuddi   shunday,   f   tasvirining   tekis   ibtidoiy   b   bo‘ylab   ixtiyoriy   C,   y)
nuqtasida kulrang shkala kengayishi ibtidoiyning markazi (x, y) nuqtada bo‘lganda
b   ga   to‘g‘ri   keladigan   qo‘shnilikdagi   f   ning   maksimal   qiymati   sifatida
aniqlanadi. ). Kengayish f © b bilan belgilanadi va formula bilan beriladi
(f © b)(x, y) = max {f (x - s, y -t)},
(s,t )cb
Bunda   yuqorida   qayd   etilgan   b   =   b   (-x,   -   y)   faktidan   foydalandik.   Bu
tenglikning   izohi   yarim   tonna   eroziyasini   tushuntirishga   o'xshaydi,   yagona   farqi
shundaki,   u   minimal   o'rniga   maksimaldan   foydalanadi   va   ibtidoiy   markaziy   aks
ettirishga   duchor   bo'ladi,   bu   funktsiya   argumentlarida   s   va   t   ni   ayirish   bilan
ko'rsatilgan. Ushbu protsedura bo'limdan konvolyutsiyaga o'xshaydi.
Misol:   Dilatatsiya   va   eroziya   operatsiyalarining   kul   rangdagi   tasvirga
ta'sirini ko'rsatish.
Kul   rang   eroziyasi   holatida,   f   yorqinligining   minimal   qiymati     b
pozitsiyasiga   to'g'ri   keladigan   har   bir   mahallada   hisoblab   chiqilganligi   sababli,
umumiy holda, natijada olingan tasvirning quyuqroq bo'lishini kutish mumkin. asl
va   o'lchamlari   bilan   taqqoslanadigan   yorqin   detallarning   o'lchamlari   kamayadi,
qorong'ilari esa ortadi. Asl  kulrang rangdagi rasmda birlik balandligi va radiusi 2
piksel   bo'lgan   tekis   dumaloq   primitivda   ushbu   tasvirning   eroziyasi   natijasi
ko'rsatilgan.   Yuqoridagi   effektlar   yaqqol   ko'rinadi,   masalan,   kichik   yorqin
nuqtalarning   yorqinligi   pasaygan,   shuning   uchun   ular   deyarli   ko'rinmaydi,
qorong'u   detallar   esa   qalinroq   bo'ladi.   Tasvirning   umumiy   foni   biroz   qoraygan.
8 Xuddi shunday, xuddi shu yordamida asl tasvirni kengaytirish natijasini ko'rsatadi.
Qarama-qarshi   tabiatning   ta'siri   sezilarli:   yorqin   qismlarning   kattaligi   oshdi   va
qorong'i   qismlarning   yorqinligi   kamaydi.   Xususan,   o'rtada   chapda   va   quyida
o'ngda joylashgan qorong'u yostiqlar rasmda deyarli ko'rinmasligiga e'tibor bering.
Kengayishdan   keyin   qorong'u   nuqtalar   ham   kamaydi,   ammo   eroziya   holatidagi
yorqin   nuqtalardan   farqli   o'laroq,   ular   paydo   bo'lgan   rasmda   hali   ham   aniq
ko'rinadi.   Buning   sababi   shundaki,   asl   tasvirda   qorong'u   nuqtalarning   o'lchamlari
ibtidoiy   o'lchamlardan   kattaroq,   yorqinlari   esa   kichikroq.   Xulosa   qilib   shuni
ta'kidlaymizki, olingan tasvirning umumiy foni biroz yorqinroq.
(6-rasm)   (a)   448x425   piksel   o'lchamdagi   asl   kulrang   rangdagi   rentgen
tasviri.   (b)   radiusi   2   piksel   bo'lgan   aylana   shaklida   tekis   primitiv   bo'ylab   eroziya
natijasi.   (c)   Xuddi   shu   ibtidoiy   uchun   dilatatsiya   natijasi.   (Tasvir   Lixi,   Inc.
tomonidan taqdim etilgan).
Planar   bo'lmagan   primitivlar   uchun   yorqinlik   qiymatlari   ularning   ta'rifi
maydoni   bo'yicha   o'zgaradi.   F   tasvirining   tekis   bo'lmagan   primitiv   bN   bo'ylab
eroziyasi formula bilan aniqlanad 
(f &bN)(x,y) = min {f(x + s,y +1)-bN(s,t)}.
Bu   erda   har   bir   nuqtada   eroziya   qiymatini   aniqlash   uchun   f   tasvirning
yorqinligidan   ibtidoiyning   yorqinlik   qiymatlarini   ayirib   tashlaymiz.   Bu   shuni
anglatadiki,   tekis   bo'lmagan   ibtidoiydan   farqli   o'laroq,   eroziya   natijalari   odatda   f
qiymatlari diapazoni bilan cheklanmaydi, bu ularning talqinini murakkablashtiradi.
Shu   sababli,   shuningdek,   hisoblash   murakkabligi   va   bN   elementlari   uchun
9 mazmunli   qiymatlarni   tanlashda   mumkin   bo'lgan   qiyinchiliklar   tufayli,   tekis
bo'lmagan   primitivlar   amalda   kamdan-kam   qo'llaniladi.   Xuddi   shunday,   tekis
bo'lmagan primitivga nisbatan kengayish formula bilan aniqlanadi 
(f © bN)(x, y) = max {f(x - s, y -1) + bN (s,t)};
Tekis bo'lmagan ibtidoiy bo'ylab eroziya uchun xuddi shunday izohlar unga
tegishli. Agar bN barcha elementlarning qiymatlari qandaydir doimiyga teng bo'lsa
(ya'ni,   ibtidoiy   tekis   bo'lsa),   unda   tengliklar   mos   ravishda   shu   doimiygacha
kamayadi.
Xuddi shunday, f  yarim  ohangli tasvirning tubining morfologik o'zgarishi  f
ochilishi natijasi va asl tasvirning o'zi o'rtasidagi farq sifatida aniqlanadi:
B
hat = f • (b – f).
Ushbu  transformatsiyalarning  asosiy   qo'llanilishidan   biri   olib  tashlanadigan
ob'ektlarga   mos   kelmaydigan   ibtidoiyni   ochish   yoki   yopish   orqali   tasvirdan
ob'ektlarni   olib   tashlashdir.   Shundan   so'ng,   ayirish   yo'li   bilan   tasvir   hosil   bo'ladi,
unda   faqat   olib   tashlangan   komponentlar   qoladi.   Chiqib   ketish   konvertatsiyasi
qorong'i   fonda   yorug'lik   ob'ektlari   uchun,   ichi   bo'sh   transformatsiya   esa   qarama-
qarshi  vaziyatda qo'llaniladi,  shuning uchun ikkita transformatsiya  ko'pincha  mos
ravishda oq protrusion va qora protrusion deb ataladi.
O'zgarishlarining   yana   bir   muhim   qo'llanilishi   notekis   yorug'lik   effektini
tuzatishdir.   Keyingi   bobda   ko'rib   chiqamizki,   bir   xil   yoritish   ob'ektlarni   tasvir
fonidan   ajratib   turishida   markaziy   rol   o'ynaydi.   Bu   jarayon   segmentatsiya   deb
ataladi  va tasvirni  avtomatik tahlil  qilishning birinchi  bosqichlaridan biridir. Tez-
tez ishlatiladigan segmentatsiya usuli - bu asl raqamli tasvirning chegarasi.
10 (7-rasm)   Noto'g'ri   tasvir   fonini   tuzatish   uchun   protrusion   transformatsiyani
qo'llaydi.   (a)   600x600   piksel   o'lchamdagi   asl   rasm.   (b)   chegaradan   keyingi   rasm.
(c) radiusi 40 piksel bo'lgan aylana ibtidoiy bo'ylab ochish operatsiyasi natijasi. (d)
"Protrusion"   transformatsiyasining   natijasi   (asl   tasvirni   ochish   natijasini   hisobga
olmaganda). (e) o'zgartirilgan tasvirni chegaralash natijasi.
2.Amaliy qism
2.1 .   Morfologik   ishlov   berish  algoritmining   dasturiy   ta`minotini   ishlab
chiqish
1. Erosiya (yemirilish).
import numpy as np
from PIL import Image
def rgb2gray(rgb: np.array) -> np.array:
    """
    Return gray image from rgb image
    >>> rgb2gray(np.array([[[127, 255, 0]]]))
    array([[187.6453]])
    >>> rgb2gray(np.array([[[0, 0, 0]]]))
    array([[0.]])
    >>> rgb2gray(np.array([[[2, 4, 1]]]))
    array([[3.0598]])
    >>> rgb2gray(np.array([[[26, 255, 14], [5, 147, 20], [1, 200, 0]]]))
11     array([[159.0524,  90.0635, 117.6989]])
    """
    r, g, b = rgb[:, :, 0], rgb[:, :, 1], rgb[:, :, 2]
    return 0.2989 * r + 0.5870 * g + 0.1140 * b
def gray2binary(gray: np.array) -> np.array:
    """
    Return binary image from gray image
    >>> gray2binary(np.array([[127, 255, 0]]))
    array([[False,  True, False]])
    >>> gray2binary(np.array([[0]]))
    array([[False]])
    >>> gray2binary(np.array([[26.2409, 4.9315, 1.4729]]))
    array([[False, False, False]])
    >>> gray2binary(np.array([[26, 255, 14], [5, 147, 20], [1, 200, 0]]))
    array([[False,  True, False],
           [False,  True, False],
           [False,  True, False]])
    """
    return (127 < gray) & (gray <= 255)
def erosion(image: np.array, kernel: np.array) -> np.array:
    """
    Return eroded image
    >>> erosion(np.array([[True, True, False]]), np.array([[0, 1, 0]]))
    array([[False, False, False]])
    >>> erosion(np.array([[True, False, False]]), np.array([[1, 1, 0]]))
    array([[False, False, False]])
    """
    output = np.zeros_like(image)
    image_padded = np.zeros(
12                 (image.shape[0]   +   kernel.shape[0]   -   1,   image.shape[1]   +
kernel.shape[1] - 1)
    )
    # Copy image to padded image
       image_padded[kernel.shape[0] - 2 : -1 :, kernel.shape[1] - 2 : -1 :] =
image
    # Iterate over image & apply kernel
    for x in range(image.shape[1]):
        for y in range(image.shape[0]):
            summation = (
                                kernel   *   image_padded[y   :   y   +   kernel.shape[0],   x   :   x   +
kernel.shape[1]]
            ).sum()
            output[y, x] = int(summation == 5)
    return output
# kernel to be applied
structuring_element = np.array([[0, 1, 0], [1, 1, 1], [0, 1, 0]])
if __name__ == "__main__":
    # read original image
    image = np.array(Image.open(r"test1.jpg"))
    # Apply erosion operation to a binary image
    output = erosion(gray2binary(rgb2gray(image)), structuring_element)
    # Save the output image
    pil_img = Image.fromarray(output).convert("RGB")
    pil_img.save("result_erosion.png")
2. Dilitatsiya (kengaytirish).
13 import numpy as np
from PIL import Image
def rgb2gray(rgb: np.array) -> np.array:
    """
    Return gray image from rgb image
    >>> rgb2gray(np.array([[[127, 255, 0]]]))
    array([[187.6453]])
    >>> rgb2gray(np.array([[[0, 0, 0]]]))
    array([[0.]])
    >>> rgb2gray(np.array([[[2, 4, 1]]]))
    array([[3.0598]])
    >>> rgb2gray(np.array([[[26, 255, 14], [5, 147, 20], [1, 200, 0]]]))
    array([[159.0524,  90.0635, 117.6989]])
    """
    r, g, b = rgb[:, :, 0], rgb[:, :, 1], rgb[:, :, 2]
    return 0.2989 * r + 0.5870 * g + 0.1140 * b
def gray2binary(gray: np.array) -> np.array:
    """
    Return binary image from gray image
    >>> gray2binary(np.array([[127, 255, 0]]))
    array([[False,  True, False]])
    >>> gray2binary(np.array([[0]]))
    array([[False]])
    >>> gray2binary(np.array([[26.2409, 4.9315, 1.4729]]))
    array([[False, False, False]])
    >>> gray2binary(np.array([[26, 255, 14], [5, 147, 20], [1, 200, 0]]))
    array([[False,  True, False],
           [False,  True, False],
           [False,  True, False]])
14     """
    return (127 < gray) & (gray <= 255)
def dilation(image: np.array, kernel: np.array) -> np.array:
    """
    Return dilated image
    >>> dilation(np.array([[True, False, True]]), np.array([[0, 1, 0]]))
    array([[False, False, False]])
    >>> dilation(np.array([[False, False, True]]), np.array([[1, 0, 1]]))
    array([[False, False, False]])
    """
    output = np.zeros_like(image)
    image_padded = np.zeros(
                (image.shape[0]   +   kernel.shape[0]   -   1,   image.shape[1]   +
kernel.shape[1] - 1)
    )
    # Copy image to padded image
       image_padded[kernel.shape[0] - 2 : -1 :, kernel.shape[1] - 2 : -1 :] =
image
    # Iterate over image & apply kernel
    for x in range(image.shape[1]):
        for y in range(image.shape[0]):
            summation = (
                                kernel   *   image_padded[y   :   y   +   kernel.shape[0],   x   :   x   +
kernel.shape[1]]
            ).sum()
            output[y, x] = int(summation > 0)
    return output
# kernel to be applied
15 structuring_element = np.array([[0, 1, 0], [1, 1, 1], [0, 1, 0]])
if __name__ == "__main__":
    # read original image
    image = np.array(Image.open(r"test1.jpg"))
    output = dilation(gray2binary(rgb2gray(image)), structuring_element)
    # Save the output image
    pil_img = Image.fromarray(output).convert("RGB")
    pil_img.save("result_dilation.png")
(8-rasm) Erosiya va Dilitatsiya(kengaytirish).
16 (9-rasm) Erosiya va Dilitatsiya(kengaytirish).
Xulosa
Tasvirlarni yaxshilash uchun qayta ishlansa va chegarani belgilash kabi ba'zi
operatsiyalarni   bajarayotganda,   shovqin   tufayli   tasvirning   buzilishi   ehtimoli
ko'proq   bo'ladi.   Natijada,   tasvirning   tuzilishida   kamchiliklar   yuzaga   keladi.
Morfologik operatsiyaning asosiy maqsadi tasvirlarning shakli va tuzilishiga ta'sir
qiluvchi   ushbu   nomukammallikni   yo'q   qilishdir.   Ko'rinib   turibdiki,   morfologik
operatsiyalar   tasvirni   segmentatsiyalashda   juda   foydali   bo'lishi   mumkin,   chunki
jarayon   tasvirdagi   "shaklni   ajratish"   bilan   bevosita   shug'ullanadi.   Tasvirni   qayta
ishlash   kontekstida   morfologiya   tasvirdagi   ob'ektning   shakli   va   tuzilishini
tavsiflashni anglatadi.
17 Morfologik   operatsiyalardan   foydalanish   oson   va   to'plam   nazariyasi   asosida
ishlaydi.   Morfologik   operatsiyalarni   qo'llashdan   maqsad   tasvir   tuzilishidagi
kamchiliklarni   bartaraf   etishdir.   Bu   yerda   qo'llaniladigan   operatsiyalarning
aksariyati   ikkita   jarayonning   kombinatsiyasi,   erosiya   (yemirish)   va   dilitatsiya
(kengaytirish).   Amaliyot   strukturaviy   element   deb   ataladigan   kichik   matritsa
strukturasidan   foydalanadi.   Strukturaviy   elementning   shakli   va   o'lchami   yakuniy
natijaga   sezilarli   ta'sir   ko'rsatadi.   Ushbu   kursh   ishida   asosiy   morfologik
operatsiyalarni   ba'zi   bir   standart   tasvirlarda   qo'llash   orqali   tushunishga   harakat
qilindi.   Morfologik   amallarni   testdan   o`tkazish   uchun   vosita   sifatida   python
dasturlash tilidan foydalanildi.
4. Foydalanilgan adabiyotlar ro’yxati
1. Цифровая   обработка   изображений   в   среде   MATLAB.
Гонсалес,Вудс,Эддинс. 2006
2. R. Gonsales, R. Woods , Raqamli tasvirni qayta ishlash. - M .: Texnosfera,
2005, 2006 .-- 1072 b.
3. Dyakonov   V.P.   ,   MATLAB   6.5   SP1   /   7/7   SP1   /   Tasvirlar   va   video
oqimlari bilan ishlash. - M .: SOLON-Press, 2010 .-- 400 b.
4. Potapov   A.A.,   Paxomov   A.A.,   Nikitin   S.A.,   Gulyaev   Yu.V.   ,   Tasvirni
18 qayta ishlashning eng yangi usullari. - M .: Fizmatlit, 2008 .-- 496 b. 
5. Цифровая обработка изображений. Гонсалес,Вудс. 2005
6. https://ru.wikipedia.org/wiki/   Обработка_изображений
19

Tasvirlarga morfologik ishlov berish algoritmlari. Algoritmlar uchun dasturiy ta`minot ishlab chiqish. Kirish 1. Nazariy qism 1.1. Tasvirlarga morfologik ishlov berish algoritmlari haqida asosiy tushunchalar 1.2. Eroziya va dilitatsiya. 2. Amaliy qism 2.1. Morfologik ishlov berish algoritmining dasturiy ta`minotini ishlab chiqish(erosiya va dilitatsiya) Xulosa Foydalanilgan adabiyotlar ro’yxati Kirish 1

Hozirgacha biz tasvirni qayta ishlash - yaxshilangan tasvirni olish yoki undan qimmatli ma'lumotlarni olish uchun tasvir ustida muayyan harakatlar to'plamini amalga oshirish texnikasi haqida o'qidik. Kirish tasvirdir va chiqish yaxshilangan tasvir yoki shu bilan bog'liq xususiyatlar bo'lishi mumkin. Kompyuter algoritmlari raqamli tasvirni qayta ishlashda eng muhim rol o'ynashini bilish juda muhimdir. Ishlab chiquvchilar raqamli tasvirni aniqlash, tasvirni tahlil qilish, tasvirni qayta tiklash, tasvirni tiklash, tasvirni yaxshilash, tasvir ma'lumotlarini siqish, tasvirni spektral baholash va tasvirni baholash kabi turli xil vazifalarni hal qilish uchun bir nechta algoritmlardan foydalanmoqda va amalga oshirmoqda. Ba'zan algoritmlar to'g'ridan-to'g'ri kitobdan yoki bir nechta algoritm funktsiyalarining moslashtirilgan birlashtirilgan versiyasi bo'lishi mumkin. Tasvirga ishlov berish axborotni qayta ishlashning har qanday shakli bo'lib , ular uchun kiritilgan ma'lumotlar rasm, masalan, fotosuratlar yoki video ramkalardir. Tasvirni qayta ishlash chiqishda tasvirni olish uchun ham (masalan, chop etishga tayyorlash, efirga uzatish va h.k.) va boshqa ma'lumotlarni olish uchun ham (masalan, matnni aniqlash, maydondagi hujayralar soni va turini hisoblash) amalga oshirilishi mumkin. mikroskop va boshqalar). va hokazo). Statik 2D tasvirlar bilan bir qatorda, video kabi vaqt o'tishi bilan o'zgarib turadigan tasvirlarni ham qayta ishlashingiz kerak. 2

1. Nazariy qism. 1.1. Tasvirlarni qayta ishlashning morfologik usuli haqida asosiy tushunchalar Morfologiya so'zi odatda biologiyaning hayvon va o'simliklarning tuzilishi formulalarini o'rganadigan sohasi deb ataladi. Biz ushbu atamani matematik morfologiya kontekstida ishlatamiz, bu ob'ektlarning chegaralari, skeletlari yoki qavariq korpuslari kabi shaklini tasvirlash va tavsiflash uchun foydali bo'lgan aniq tasvir komponentlarini olish uchun vositadir. Shuningdek, biz tasvirlarni dastlabki va keyingi qayta ishlash bosqichlarida qo'llaniladigan morfologik usullarni ko'rib chiqamiz, masalan, morfologik filtrlash, ingichkalash va kesish. Ushbu kurs ishi faqat tasvirni qayta ishlashga qaratilgan usullardan (ya'ni, tasvirlar jarayonning ham kirishi, ham chiqishi bo'lsa) tasvirlarni tahlil qilish usullariga o'tishni boshlaydi, bunda jarayonlarning chiqishi allaqachon tarkibdan olingan tavsiflovchi atributlardir. tasvirlardan. Shu ma'noda, morfologiya tasvirning "ma'nosini" chiqarish uchun ishlatiladigan matematik vositalarning asosi bo'lib xizmat qiladi. Matematik morfologiyada to‘plamlar nazariyasi tilidan foydalaniladi. Morfologiya bir nechta tasvirlash vazifalari uchun yagona, kuchli yondashuvni taklif qiladi. Matematik morfologiyadagi to'plamlar tasvirdagi ob'ektlarga mos keladi. Masalan, tasvirning ikkilik (ikki darajali, ya'ni faqat 0 yoki 1 qiymatli elementlarni o'z ichiga olgan) barcha oq piksellari to'plami uning to'liq morfologik tavsifi variantlaridan biridir. Ikkilik tasvirlar ko'plab kamchiliklarni o'z ichiga olishi mumkin. Xususan, oddiy chegaralash natijasida hosil bo'lgan ikkilik hududlar shovqin va to'qimalar bilan buziladi. Morfologik tasvirni qayta ishlash tasvirning shakli va tuzilishini hisobga olgan holda ushbu kamchiliklarni bartaraf etish maqsadlarini ko'zlaydi. Ushbu texnikalar kulrang rangdagi tasvirlarga kengaytirilishi mumkin. 3

Morfologik tasvirni qayta ishlash - bu tasvirdagi xususiyatlarning shakli yoki morfologiyasi bilan bog'liq chiziqli bo'lmagan operatsiyalar to'plami. Morfologik operatsiyalar faqat piksel qiymatlarining nisbiy tartibiga tayanadi, ularning raqamli qiymatlariga emas, shuning uchun ayniqsa, ikkilik tasvirlarni qayta ishlashga mos keladi. Morfologik operatsiyalar kulrang shkaladagi tasvirlarga ham qo'llanilishi mumkin, chunki ularning yorug'lik uzatish funktsiyalari noma'lum va shuning uchun ularning mutlaq piksel qiymatlari qiziq emas yoki ahamiyatsiz. Morfologik usullar strukturaviy element deb ataladigan kichik shakl yoki shablonga ega tasvirni tekshiradi . Strukturalash elementi tasvirning barcha mumkin bo'lgan joylariga joylashtirilgan va u piksellarning tegishli qo'shniligi bilan taqqoslanadi. Ba'zi operatsiyalar elementning qo'shni hududga "mos kelishini" tekshiradi, boshqalari esa u "urishini" yoki kesib o'tishini tekshiradi.Ikkilik tasvirdagi morfologik operatsiya yangi ikkilik tasvirni yaratadi, unda piksel nolga teng bo'lmagan qiymatga ega bo'ladi, agar kirish tasvirining o'sha joyida sinov muvaffaqiyatli bo'lsa. Konfiguratsiya element nol yoki bir qiymati bilan kichik ikkilik tasvir, piksel, ya'ni kichik Matritsa, har bir hisoblanadi:  Matritsaning o'lchamlari strukturaviy elementning o'lchamini belgilaydi .  Birliklar va nollarning naqshlari tuzilish elementining shaklini belgilaydi .  A n kelib chiqishi odatda kelib chiqishi qurish element tashqarida bo'lishi mumkin bo'lsada, qurish elementning, odatda, uning piksel biridir. 4

(1-rasm) Umumiy amaliyot - strukturaviy matritsaning g'alati o'lchamlari va matritsaning markazi sifatida belgilangan kelib chiqishi. Struktura elementlari tasvirni morfologik qayta ishlashda chiziqli tasvirni filtrlashda konvolyutsiya yadrolari bilan bir xil rol o'ynaydi. Strukturalash elementi ikkilik tasvirga joylashtirilganda, uning har bir pikseli tuzilish elementi ostidagi mahallaning mos keladigan pikseli bilan bog'lanadi. Konfiguratsiya element deyiladi mos bo'lsa, uning piksel, har bir 1 o'rnatilgan uchun, tasvirni, tegishli tasvir piksel qurish element deyiladi, Xuddi shuningdek 1. hisoblanadi tekkanda yoki kesishadi bir tasvir, agar biri uchun kamida uning piksellari 1 ga o'rnatilgan bo'lsa, mos keladigan tasvir pikseli ham 1 ga teng. (2-rasm)Strukturalash elementlari s   1   va s   2   bo'lgan binar tasvirni o'rnatish va urish   Strukturaviy elementning nol qiymatli piksellari e'tiborga olinmaydi, ya'ni tegishli tasvir qiymati ahamiyatsiz bo'lgan nuqtalarni ko'rsatadi. Eroziya va kengayish.   B ir tomonlama tasvir bo'lgan F tomonidan konfiguratsiya element s (yuritiladi f   s ), yangi ikkilik tasvirni ishlab chiqaradi g = f   s barcha joylarda bo'lgan (bilan x, y bir konfiguratsiya element ning kelib chiqishi) narsaga qurish elementini s uvishishi kiritish tasvir f , 5