
11-LEKCIYA_MDQI
.pdf
11-Lekciya. Lokal kontrasttıń sızıqlı bolmaǵan sozılıwı
Jobası:
1.Lokal kontrasttıń sızıqlı bolmaǵan sozılıwı
2.Algoritmi
3.Python tilinde programmalastırıw
Lokal kontrasttıń sızıqlı bolmaǵan sozılıwı - bul súwrettiń sapasın jaqsılaw ushın qollanılatuǵın usıl. Bul usıl súwrettiń lokal bóleklerindegi kontrasttı arttırıw arqalı detallardıń kóriniwshiligin jaqsılaydı.
2. Teoriyalıq tiykar
Lokal kontrast sozılıwı tómendegi formulaǵa tiykarlanǵan:
g(x,y) = a(x,y) * f(x,y) + b(x,y)
Bunda:
f(x,y) - dáslepki súwret
g(x,y) - nátiyje súwret
a(x,y) - kontrasttı kúsheytiwshi koefficient
b(x,y) - jaqtılıqtı dúzetiwshi koefficient
3.Algoritm adımları
a)Dáslepki súwretti oqıw
b)Súwretti sur reńli formatqa aylandırıw
c)Lokal ortasha hám standart awıtqıwdı esaplaw
d)a(x,y) hám b(x,y) koeffiecientlerin esaplaw
e)Jańa piksel mánislerin esaplaw
f)Nátiyje súwretti saqlaw
4.Python kodı
python
import cv2
import numpy as np
def local_contrast_enhancement(image, kernel_size=15, clip_limit=3.0):
# Sur reńli formatqa aylandırıw
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
# Lokal ortasha hám standart awıtqıwdı esaplaw local_mean = cv2.blur(gray, (kernel_size, kernel_size))
local_std = np.sqrt(cv2.blur(np.square(gray - local_mean), (kernel_size, kernel_size)))

# a(x,y) hám b(x,y) koeffiecientlerin esaplaw
a= clip_limit * (gray - local_mean) / (local_std + 1)
b= local_mean
#Jańa piksel mánislerin esaplaw enhanced = a * gray + b
#Piksel mánislerin [0, 255] diapazonına normalizaciyalaw enhanced = np.clip(enhanced, 0, 255).astype(np.uint8)
return enhanced
# Súwretti oqıw
image = cv2.imread('input_image.jpg')
# Lokal kontrast sozılıwın qollanıw
result = local_contrast_enhancement(image)
# Nátiyje súwretti saqlaw cv2.imwrite('output_image.jpg', result)
5. Nátiyjelerin talqılaw
Usı algoritmdi qollanıw arqalı, súwrettiń lokal bóleklerindegi kontrast arttırıladı. Bul detallardıń anıǵıraq kóriniwine alıp keledi, ásirese tómen kontrastlı yamasa jarıqlıǵı jetkilikli bolmaǵan súwretler ushın paydalı.
6. Qollanılıw tarawları
Medicinada: rentgen, MRT hám CT súwretlerin jaqsılaw
Kosmos izertlewlerinde: planetalar hám juldızlardıń súwretlerin analizlew
Cifrlı fotografiyada: súwret sapasın arttırıw
Baqlaw kameraları: túngi kórinisler sapasın jaqsılaw
Lokal kontrasttıń sızıqlı bolmaǵan sozılıwı - bul kúshli súwret qayta islew usılı. Ol súwrettiń sapasın jaqsılaydı hám detallardı anıǵıraq kórsetedi. Biraq, parametrlerdi durıs tańlaw áhmiyetli, sebebi olar nátiyje sapaǵa tásir etedi.
keliń ekinshi mısal retinde gistogramma teńlestirilgen lokal kontrast sozılıwı (CLAHE - Contrast Limited Adaptive Histogram Equalization) usılın qarastırayıq. Bul usıl lokal kontrast sozılıwınıń jáne bir kúshli variantı bolıp tabıladı.
Gistogramma teńlestirilgen lokal kontrast sozılıwı (CLAHE)
CLAHE - bul súwrettiń lokal bóleklerinde gistogramma teńlestiriwin qollanıw arqalı kontrasttı jaqsılaytuǵın usıl. Ol ádettegi gistogramma teńlestiriw usılınan parqı sonda, ol súwretti kishi bóleklege bólip, hár bir bólekte gistogramma teńlestiriwin qollanadı.
CLAHE tómendegi adımlarǵa tiykarlanǵan:

a)Súwretti kishi bóleklege bóliw
b)Hár bir bólekte gistogramma teńlestiriwin qollanıw
c)Bólekler arasındaǵı shegara effektlerin joq etiw ushın sızıqlı interpolyaciya qollanıw
d)Sheklew parametri arqalı artıq kontrast kúsheyiwin sheklew
Python-da tómendegishe programmalastıramız:
python
import cv2
import numpy as np
import matplotlib.pyplot as plt
def apply_clahe(image, clip_limit=2.0, tile_grid_size=(8,8)):
# Sur reńli formatqa aylandırıw
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
# CLAHE objektin jaratıw
clahe = cv2.createCLAHE(clipLimit=clip_limit, tileGridSize=tile_grid_size)
# CLAHE qollanıw
clahe_image = clahe.apply(gray)
return clahe_image
def plot_histogram(image, title): plt.figure(figsize=(8, 6)) plt.hist(image.ravel(), 256, [0, 256]) plt.title(title)
plt.xlabel('Piksel mánisi') plt.ylabel('Piksellar sanı') plt.show()
# Súwretti oqıw
image = cv2.imread('input_image.jpg')
# Dáslepki súwrettiń gistogrammasın kórsetiw plot_histogram(cv2.cvtColor(image, cv2.COLOR_BGR2GRAY), 'Dáslepki súwret gistogramması')
# CLAHE qollanıw
result = apply_clahe(image)
# Nátiyje súwrettiń gistogrammasın kórsetiw plot_histogram(result, 'CLAHE qollanǵannan keyingi gistogramma')
# Nátiyje súwretti saqlaw cv2.imwrite('clahe_output.jpg', result)
# Dáslepki hám nátiyje súwretlerdi kórsetiw plt.figure(figsize=(12, 6))
plt.subplot(121), plt.imshow(cv2.cvtColor(image, cv2.COLOR_BGR2RGB)), plt.title('Dáslepki súwret')
plt.subplot(122), plt.imshow(result, cmap='gray'), plt.title('CLAHE qollanǵan súwret')
plt.show()
Nátiyjelerin talqılaw:
CLAHE usılı lokal kontrast sozılıwın ámelge asırıw menen birge, gistogrammanı teńlestiredi. Bul súwrettiń ulıwma kontrastın jaqsılaydı hám detallardı anıǵıraq kórsetedi. Dáslepki súwret penen salıstırǵanda:
Jarıqlıq diapazonı keńeyedi
Lokal detallar anıǵıraq kórinedi
Gistogramma teńlestiriledi, biraq sheklew parametri arqalı artıq kontrast kúsheyiwi boldırılmaydı
Parametrlerdiń tásiri
clip_limit: Bul parametr kontrast kúsheyiwin shekleydi. Joqarı mánisler kúshlireq kontrast beredi, biraq "shuw" (shawqım) payda bolıwı múmkin.
tile_grid_size: Bul parametr súwrettiń qansha bólekke bólinetuǵının anıqlaydı. Kishi ólshemler lokallıqtı arttıradı, al úlken ólshemler ulıwmalıq effektti kúsheytedi.
Qollanılıw tarawları
Medicinada: rentgen, MRT hám CT súwretlerin jaqsılaw
Aerofotosúwretke túsiriw: jer betiniń detalların anıqlaw
Qádaǵalaw kameralari: tómen jarıqlıqtaǵı kórinislerdi jaqsılaw
Cirlı fotografiya: kontrast hám detallardı jaqsılaw
CLAHE usılı - bul kúshli hám iykemli súwretti qayta islew usılı. Ol lokal kontrast sozılıwın hám gistogramma teńlestiriwin birlestiredi, nátiyjesinde júdá jaqsı nátiyje beredi. Biraq, parametrlerdi durıs tańlaw áhmiyetli, sebebi olar nátiyje sapaǵa tásir etedi.
Úy tapsırması:
Berilgen kodtı ózińizdiń súwretińizge qollap kóriń.
Kernel_size hám clip_limit parametrlerin ózgertip, nátiyjelerin salıstırıń.
Usı usıldı qara-aq súwretke emes, al reńli súwretke qollanıw ushın kodtı qalay ózgertiw kerekligin oylanıń.
Bul lokal kontrasttıń sızıqlı bolmaǵan sozılıwı usılınıń tiykarǵı túsiniklerin hám onı Python járdeminde ámelge asırıwdı qamtıp aladı.
Baqlaw sorawları:
1.Lokal kontrasttıń sızıqlı bolmaǵan sozılıwı usılınıń tiykarǵı maqseti neden ibarat?
2.Lokal kontrast sozılıwı formulasındaǵı a(x,y) hám b(x,y) koeffiecientleri qanday mánisti ańlatadı?
3.Lokal kontrast sozılıwı usılında nege sur reńli súwret qollanıladı?
4.Kernel_size parametri lokal kontrast sozılıwı usılında qanday rol oynaydı?
5.Clip_limit parametriniń mánisin arttırǵanda súwrette qanday ózgerisler júz beriwi múmkin?
6.CLAHE (Contrast Limited Adaptive Histogram Equalization) usılı ádettegi lokal kontrast sozılıwı usılınan qanday ayırmashılıqqa iye?
7.CLAHE usılındaǵı tile_grid_size parametri neni anıqlaydı hám ol nátiyje súwretke qanday tásir kórsetedi?
8.Nege CLAHE usılında gistogramma teńlestiriwin qollanıw zárúr?
9.Lokal kontrast sozılıwı usılların medicinada qollanıwdıń qanday artıqmashılıqları bar?
10.Lokal kontrast sozılıwı usılların reńli súwretlerge qollaw ushın algoritmin qalay ózgertiw kerek?