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

13-LEKCIYA_MDQI

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

13-Lekciya. Kórinis jaqtılıǵın arttırıw algoritmi

Jobası:

1.Kórinis jaqtılıǵın arttırıw

2.Jaqtılıqtı arttırıwdıń tiykarǵı túsinikleri

3.Jaqtılıqtı arttırıw algoritmleri

4.Jaqtılıqtı arttırıw algoritmlerin Python tilinde ámelge asırıw

Kórinis jaqtılıǵın arttırıw - bul súwretti qayta islew tarawındaǵı áhmiyetli máselelerdiń biri. Bul process súwrettiń sapasın jaqsılaw, detallardı anıqlaw hám vizual kórinisti jaqsılaw ushın qollanıladı. Bul lekciyada biz kórinis jaqtılıǵın arttırıwdıń hár qıylı usılların hám algoritmlerin úyrenemiz.

Jaqtılıqtı arttırıwdıń tiykarǵı túsinikleri

Jaqtılıq (Brightness)

Jaqtılıq - bul piksellerdiń intensivligi yamasa jarqınlıǵı. Ol ádette 0 (qara) den 255 (aq) ke shekem bolǵan diapazonda ańlatıladı.

Kontrast (Contrast)

Kontrast - bul súwrettegi eń jarqın hám eń qarańǵı bólimleri arasındaǵı ózgeshelik. Joqarı kontrast detallardı anıǵıraq kórsetedi.

Gamma

Gamma - bul súwrettiń jarqınlıǵı menen piksel mánisleri arasındaǵı sızıqlı bolmaǵan baylanıstı anıqlaydı.

Jaqtılıqtı arttırıw usılları

Sızıqlı usıllar

a)Jaqtılıqtı arttırıw/kemeytiw Formulası: O(x,y) = I(x,y) + b

Bunda O - nátiyje súwret, I - dáslepki súwret, b - jaqtılıq konstantası

b)Kontrasttı ózgertiw

Formulası: O(x,y) = α * I(x,y)

Bunda α - kontrast koefficienti

c) Gistogramma teńlestiriw

Bul usıl piksel mánislerin qayta bólistiriw arqalı kontrasttı arttıradı.

Sızıqlı bolmaǵan usıllar

a)Gamma korrekciyası Formulası: O(x,y) = c * I(x,y)^γ

Bunda c - masshtab koefficienti, γ - gamma mánisi

b)Logarifmlik transformaciya

Formulası: O(x,y) = c * log(1 + I(x,y))

c) Eksponencial transformaciya

Formulası: O(x,y) = c * (e^(b*I(x,y)) - 1) Bunda b - ózgermelilik parametri

Adaptivlik usıllar

a)Adaptivlik gistogramma teńlestiriw (AHE)

b)Kontrasttı sheklew menen adaptivlik gistogramma teńlestiriw (CLAHE)

c)Lokal kontrasttı arttırıw

Jaqtılıqtı arttırıw algoritmleri

Retinex algoritmi

Retinex algoritmi - bul sızıqlı bolmaǵan jaqtılıqtı arttırıw usılı. Ol adamnıń kóriw sistemasın modellestiriwge tiykarlanǵan.

Tiykarǵı formulası:

R(x,y) = log(I(x,y)) - log(F(x,y) * I(x,y))

Bunda:

R(x,y) - Retinex nátiyje súwreti

I(x,y) - dáslepki súwret

F(x,y) - Gauss filtri

o svertka operaciyası

Multi-Scale Retinex (MSR)

MSR - bul Retinex algoritminiń rawajlanǵan versiyası. Ol hár qıylı masshtablardaǵı Gauss filtrleriniń kombinaciyasın qollanadı.

Formulası:

MSR(x,y) = Σ(Wi * Ri(x,y))

Bunda:

Wi - salmaqlıq koefficient

Ri(x,y) - i-masshtabdaǵı Retinex nátiyje súwreti

Adaptivlik Gamma korrekciyası

Bul usıl hár bir piksel ushın gamma mánisin adaptivlik túrde tańlaydı.

Formulası:

O(x,y) = I(x,y)^(1/γ(x,y))

Bunda γ(x,y) - lokal gamma mánisi, ol pikseldiń lokal statistikasına qarap anıqlanadı.

Jaqtılıqtı arttırıw algoritmlerin Python tilinde ámelge asırıw

Gistogramma teńlestiriw

python

import cv2

import numpy as np

def histogram_equalization(image): return cv2.equalizeHist(image)

CLAHE (Contrast Limited Adaptive Histogram Equalization)

python

def clahe_enhancement(image, clip_limit=2.0, tile_size=8):

clahe = cv2.createCLAHE(clipLimit=clip_limit, tileGridSize=(tile_size, tile_size))

return clahe.apply(image)

Gamma korrekciyası

python

def gamma_correction(image, gamma=1.0): inv_gamma = 1.0 / gamma

table = np.array([((i / 255.0) ** inv_gamma) * 255 for i in np.arange(0, 256)]).astype("uint8")

return cv2.LUT(image, table)

Retinex algoritmi

python

def retinex(image, sigma=30):

log_image = np.log1p(image.astype(np.float32)) gaussian = cv2.GaussianBlur(log_image, (0, 0), sigma) return (log_image - gaussian).astype(np.uint8)

Jaqtılıqtı arttırıw algoritmlerin bahalaw

Subektiv bahalaw

Kóz benen kóriw arqalı bahalaw

Ekspertler arqalı bahalaw

Obektiv bahalaw

Peak Signal-to-Noise Ratio (PSNR)

Structural Similarity Index (SSIM)

Contrast Improvement Index (CII)

Entropy

Edge Preservation Index (EPI)

Qollanılıw tarawları

Medicinada: rentgen, MRT hám CT súwretlerin jaqsılaw

Kosmos izertlewlerinde: astronomiyadaǵı súwretlerdi qayta islew

Cifrlı fotografiyada: túngi hám tómen jaqtılıqtaǵı súwretlerdi jaqsılaw

Qadaǵalaw kameraları: tómen jaqtılıqtaǵı videolardı jaqsılaw

Kriminalistikada: dálillik súwretlerdi jaqsılaw

Suw astı súwretke túsiriwde: suw astı kórinislerin jaqsılaw

Keleshektegi rawajlanıw baǵdarları

Terén úyreniw usılların qollanıw

Real-time jaqtılıqtı arttırıw sistemaların jaratıw

Kóp spektrli súwretler ushın jaqtılıqtı arttırıw usılların rawajlandırıw

Jaqtılıqtı arttırıw menen birge basqa da súwret sapasın jaqsılaw usılların birlestiriw

Kórinis jaqtılıǵın arttırıw algoritmleri súwret qayta islew tarawında áhmiyetli orın iyeleydi. Olar súwretlerdiń sapasın jaqsılaw, detallardı anıqlaw hám vizual kórinisti jaqsılaw ushın keń qollanıladı. Hár bir usıldıń ózine tán artıqmashılıqları hám sheklewleri bar, sonlıqtan qollanıw tarawına qarap durıs usıldı tańlaw áhmiyetli.

Python tilinde ámeliy mısalda biz bir neshe usıldı qollanamız: gistogramma teńlestiriw, CLAHE hám gamma korrekciyası. Bul usıllar joqarıda aytıp ótilgen edi.

Kórinis jaqtılıǵın arttırıw mısalı

import cv2

import numpy as np

import matplotlib.pyplot as plt

def load_image(path):

return cv2.imread(path, cv2.IMREAD_GRAYSCALE)

def histogram_equalization(image): return cv2.equalizeHist(image)

def clahe_enhancement(image, clip_limit=2.0, tile_size=8):

clahe = cv2.createCLAHE(clipLimit=clip_limit, tileGridSize=(tile_size, tile_size))

return clahe.apply(image)

def gamma_correction(image, gamma=1.0): inv_gamma = 1.0 / gamma

table = np.array([((i / 255.0) ** inv_gamma) * 255 for i in np.arange(0, 256)]).astype("uint8")

return cv2.LUT(image, table)

def plot_results(images, titles):

fig, axs = plt.subplots(2, 2, figsize=(12, 10)) axs = axs.ravel()

for i in range(len(images)): axs[i].imshow(images[i], cmap='gray') axs[i].set_title(titles[i]) axs[i].axis('off')

plt.tight_layout() plt.show()

# Tiykarǵı programma

image_path = 'suwret.jpg' # Súwrettiń jolın kórsetiń original_image = load_image(image_path)

# Hár qıylı usıllardı qollanıw

hist_eq_image = histogram_equalization(original_image) clahe_image = clahe_enhancement(original_image) gamma_image = gamma_correction(original_image, gamma=1.5)

# Nátiyjelerin kórsetiw

images = [original_image, hist_eq_image, clahe_image, gamma_image]

titles = ['Original', 'Histogram Equalization', 'CLAHE', 'Gamma Correction'] plot_results(images, titles)

Bul kodta biz úsh túrli jaqtılıqtı arttırıw usılın ámelge asırdıq:

1.Gistogramma teńlestiriw

2.CLAHE (Contrast Limited Adaptive Histogram Equalization)

3.Gamma korrekciyası

Kodtı qollanıw ushın tómendegi adımlardı orınlań:

1.Kerekli kitapxanalardı ornatıń: opencv-python, numpy, hám matplotlib.

2.Kodtaǵı image_path ózgeriwshisine ózińizdiń súwretińizdiń jolın kórsetiń.

3.Kodtı iske túsiriń.

Kod tómendegi háreketlerdi orınlaydı:

1.Súwretti júklep aladı.

2.Hár bir usıldı qollanıp, súwretti qayta isleydi.

3.Nátiyjelerin bir grafika dógereginde kórsetedi.

Bul kod arqalı siz hár qıylı jaqtılıqtı arttırıw usıllarınıń nátiyjelerin salıstırıp kóre alasız. Eger nátiyjeler kútilgenindey bolmasa, parametrlerdi ózgertip kóriwińizge boladı. Mısalı, CLAHE usılında clip_limit hám tile_size parametrlerin, al gamma korrekciyasında gamma mánisin ózgertip kóriwińizge boladı.

Úy tapsırması

1.Gistogramma teńlestiriw, CLAHE hám Gamma korrekciyası usılların Python tilinde ámelge asırıń hám olardıń nátiyjelerin salıstırıń.

2.Retinex algoritmin Python tilinde ámelge asırıń hám onıń parametrlerin ózgertiw arqalı nátiyjelerin izertleń.

3.Jaqtılıqtı arttırıw algoritmleriniń sapasın bahalaw ushın PSNR hám SSIM ólshemleriniń esaplaw algoritmleriniń Python kodın jazıń.

4.Ózińiz tańlaǵan súwretke jaqtılıqtı arttırıw usılların qollanıp, eń jaqsı nátiyje beretuǵın usıldı anıqlań hám juwmaǵıńızdı tiykarlań.

Baqlaw sorawları

1.Kórinis jaqtılıǵın arttırıwdı qalay túsindiriwge boladı hám ol qanday maqsetlerde qollanıladı?

2.Jaqtılıq (Brightness) hám Kontrast (Contrast) túsinikleri arasında qanday ayırmashılıq bar?

3.Gamma korrekciyası qanday maqsette qollanıladı hám ol qalay isleydi?

4.Sızıqlı hám sızıqlı emes jaqtılıqtı arttırıw usılları arasındaǵı tiykarǵı parıqlar nelerden ibarat?

5.Retinex algoritmi nege tiykarlanǵan hám onıń tiykarǵı formulası qanday?

6.Multi-Scale Retinex (MSR) usılı ádettegi Retinex algoritminen nesi menen parıq qıladı?

7.Adaptivlik Gamma korrekciyası usılınıń artıqmashılıǵı nede?

8.CLAHE (Contrast Limited Adaptive Histogram Equalization) usılı gistogramma teńlestiriwden qanday ózgesheligi menen ajıralıp turadı?

9.Jaqtılıqtı arttırıw algoritmleriniń sapasın bahalawda qanday obyektiv ólshemler qollanıladı?

10.Kórinis jaqtılıǵın arttırıw usılları qanday tarawlarda qollanıladı hám keleshekte qanday baǵdarlarda rawajlanıwı múmkin?

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