Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

10-LEKCIYA_MDQI

.pdf
Скачиваний:
0
Добавлен:
18.10.2024
Размер:
206.01 Кб
Скачать

10-Lekciya. Kórinis kontrastın sızıqlı beyimlesiw algoritmi

Jobası:

1.Kórinis kontrastın sızıqlı beyimlesiw algoritmi

2.Algoritmniń ámelge asırılıwı

3.Parametrlerdi tańlaw

4.Qollanılıw ornı

Kórinis kontrastın sızıqlı beyimlesiw algoritmi - súwrettiń sıpatın jaqsılaw ushın qollanılatuǵın áhmiyetli usıllardıń biri. Ol súwrettiń kontrastın asırıp, detalların anıǵıraq kórsetiwge járdem beredi.

2. Teoriyalıq tiykar

Sızıqlı kontrast beyimlesiwi - bul súwrettiń piksel qásiyetlerin ózgertiw arqalı kontrastın asıratuǵın process. Bul usıl hárbir pikseldiń intensivligin tómendegishe qayta esaplaydı:

jańa_intensivlik = a * dáslepki_intensivlik + b

Bunda:

a - kontrast koefficienti

b - jarıqlıq koefficienti

Bul formulada 'a' mánisi 1 den úlken bolsa, kontrast asadı, al 1 den kishi bolsa - kemeyedi.

3. Algoritmniń ámelge asırılıwı

Endi bul algoritmdi Python tilinde ámelge asırıwdı kórip shıǵayıq:

python

import cv2

import numpy as np

import matplotlib.pyplot as plt

def linear_contrast_adjustment(image, a, b):

#Súwretti float32 túrine aylandırıw adjusted = image.astype(float)

#Sızıqlı beyimlesiw formulasın qollanıw adjusted = a * adjusted + b

#Mánislerdi 0-255 aralıǵına sheklew adjusted = np.clip(adjusted, 0, 255)

# Súwretti qaytadan 8-bitli integer túrine aylandırıw return adjusted.astype('uint8')

# Súwretti oqıw

image = cv2.imread('mısal_súwret.jpg')

image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)

# Sızıqlı kontrast beyimlesin qollanıw

adjusted_image = linear_contrast_adjustment(image, a=1.5, b=10)

# Nátiyjelerin kórsetiw

fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(12, 6)) ax1.imshow(image)

ax1.set_title('Original Súwret') ax1.axis('off') ax2.imshow(adjusted_image)

ax2.set_title('Kontrasti beyimlengen súwret') ax2.axis('off')

plt.show()

4. Parametrlerdi tańlaw

'a' hám 'b' parametrlerin tańlaw - bul eksperiment arqalı ámelge asırıladı. Olardıń mánislerin ózgertip, eń jaqsı nátiyje beretuǵın kombininaciyanı tabıw kerek.

a > 1: kontrasttı asıradı

0 < a < 1: kontrasttı paseytiw

a = 1: kontrast ózgermeydi

b > 0: jarıqlıqtı asıradı

b < 0: jarıqlıqtı páseytiw

b = 0: jarıqlıq ózgermeydi

5. Gistogram analizi

Súwrettiń kontrastın jaqsı túsiniw ushın gistogrammalardı paydalanıwımız múmkin:

python

def plot_histogram(image, title): plt.figure(figsize=(8, 6)) plt.title(title) plt.xlabel("Piksel intensivligi") plt.ylabel("Piksellar sanı")

plt.hist(image.ravel(), 256, [0, 256]) plt.show()

# Dáslepki súwret gistogramması

plot_histogram(image, "Dáslepki súwret gistogramması")

# Beyimlengen súwret gistogramması

plot_histogram(adjusted_image, "Beyimlengen súwret gistogramması")

6. Avtomatik parametr tańlaw

Kóbinese, optimal 'a' hám 'b' mánislerin avtomatik túrde tabıw ushın gistogramma ekvalizaciyası qollanıladı:

python

def auto_contrast_adjustment(image):

# Gistogramma ekvalizaciyası

gray = cv2.cvtColor(image, cv2.COLOR_RGB2GRAY) equalized = cv2.equalizeHist(gray)

#Dáslepki hám ekvalizaciyalanǵan súwretler arasındaǵı baylanıstı tabıw a, b = np.polyfit(gray.ravel(), equalized.ravel(), 1)

#Sızıqlı beyimlesiw

return linear_contrast_adjustment(image, a, b)

# Avtomatik beyimlesiw

auto_adjusted = auto_contrast_adjustment(image)

# Nátiyjelerin kórsetiw

fig, (ax1, ax2, ax3) = plt.subplots(1, 3, figsize=(18, 6)) ax1.imshow(image)

ax1.set_title('Original Súwret') ax1.axis('off') ax2.imshow(adjusted_image) ax2.set_title('Qolda beyimlengen súwret') ax2.axis('off')

ax3.imshow(auto_adjusted) ax3.set_title('Avtomatik beyimlengen súwret') ax3.axis('off')

plt.show()

7. Qollanılıw ornı

Sızıqlı kontrast beyimlesiw algoritmi tómendegi jaǵdaylarda paydalı boladı:

Medicinalıq kórinislerdi analiz qılıwda

Aerofotosuretlerdi qayta islewde

Eski súwretlerdi qayta tiklewde

Fotosúwretlerdi redaktorlawda

8. Sheklewler

Bul algoritmnıń ayırım sheklewleri de bar:

Súwrettiń barlıq bólimlerine birdey tásir etedi

Ayırım jaǵdaylarda detallardı joǵaltıwı múmkin

Shuwdı (shawqım) kúsheytiwiń de múmkinshiligi bar

9. Juwmaq

Bul lekciyada biz kórinis kontrastın sızıqlı beyimlesiw algoritmin úyrendik. Biz onıń teoriyalıq tiykarın, Python tilinde ámelge asırılıwın, parametrlerdi tańlaw usılların hám qollanılıw ornın kórip shıqtıq. Bul algoritm - súwret qayta islew

tarawında áhmiyetli qurallardan biri bolıp, kóplegen praktikalıq máselelerde qollanıladı.

Соседние файлы в предмете Программная инженерия