
14-LEKCIYA_MDQI
.pdf14-Lekciya. Kórinisti masshtablaw
Jobası:
1.Kórinisti masshtablawdıń tiykarǵı túsinikleri
2.Kórinisti masshtablaw usılları
3.Masshtablaw algoritmleriniń salıstırmalı analizi
4.Python tilinde kórinisti masshtablaw
5.Qollanılıw tarawları
Kórinisti masshtablaw - bul súwrettiń ólshemin ózgertiw processi. Bul process súwretti qayta islew tarawında jiyirek ushırasatuǵın máselelerdıń biri bolıp tabıladı. Masshtablaw arqalı biz súwrettiń ólshemin úlkeytiwimiz yamasa kishireytiwimiz múmkin.
Kórinisti masshtablawdıń tiykarǵı túsinikleri
Rezolyuciya
Rezolyuciya - bul súwrettegi piksellerdiń sanı. Ol ádette en x biyiklik formatında beriledi, mısalı 1920x1080.
Aspect ratio (Format qatnas)
Aspect ratio - bul súwrettiń eni menen biyikliginiń qatnası. Mısalı, 16:9 yamasa
4:3.
Interpolyaciya
Interpolyaciya - bul masshtablaw waqtında jańa piksellerdiń mánisin esaplaw processi.
3. Kórinisti masshtablaw usılları
3.1 Eń jaqın qońsı usılı (Nearest Neighbor)
Bul eń ápiwayı usıl. Ol jańa pikselge eń jaqın dáslepki pikseldiń mánisin belgileydi.
Artıqmashılıqları:
Tez isleydi
Ápiwayı ámelge asırıladı
Kemshilikleri:
Sapa tómenlew múmkin, ásirese úlkeytiwde
Súwret shıǵıs kóriniste quramalı bolıp qalıwı múmkin
Sızıqlı interpolyaciya (Bilinear Interpolation)
Bul usıl jańa pikseldiń mánisin esaplaw ushın dórt jaqın qońsı pikseldi qollanadı.
Artıqmashılıqları:
Eń jaqın qońsı usılına qaraǵanda joqarı sapa
Orta tezlikte isleydi
Kemshilikleri:
Úlken masshtablawlarda anıqlıqtı joǵaltıwı múmkin
Bikubikalıq interpolyaciya (Bicubic Interpolation)
Bul usıl jańa pikseldiń mánisin esaplaw ushın 16 jaqın qońsı pikseldi qollanadı.
Artıqmashılıqları:
Joqarı sapa, ásirese úlkeytiwde
Tegis nátiyje beredi
Kemshilikleri:
Sızıqlı interpolyaciyaǵa salıstırǵanda ástelewirek isleydi
Lanczos algoritmı
Bul kúshli usıl bolıp, ol sinc funkciyanı qollanadı.
Artıqmashılıqları:
Joqarı sapa, ásirese detallardı saqlaw kerek bolǵanda
Tegis nátiyje beredi
Kemshilikleri:
Esaplaw jaǵınan qımbat
Implementaciyası quramalıraq
Masshtablaw algoritmleriniń salıstırmalı analizi
Usıl |
Tezlik |
Sapa |
Qollanılıw tarawı |
Eń jaqın qońsı |
Tez |
Tómen |
Tez nátiyje kerek bolǵanda |
Sızıqlı |
Orta |
Orta |
Ulıwma maqsetler ushın |

Bikubikalıq |
Ásten |
Joqarı |
Joqarı sapa kerek bolǵanda |
Lanczos |
Eń ásten |
Eń joqarı |
Professional qayta islew ushın |
Python tilinde kórinisti masshtablaw
Python tilinde kórinisti masshtablaw ushın biz OpenCV yamasa Pillow kitapxanalarınan paydalanıwımız múmkin.
OpenCV menen masshtablaw
python
import cv2
image = cv2.imread('suwret.jpg')
resized = cv2.resize(image, (new_width, new_height), interpolation=cv2.INTER_LINEAR)
Bul jerde cv2.INTER_LINEAR ornına tómendegilerdi qollanıwǵa boladı:
cv2.INTER_NEAREST: Eń jaqın qońsı usılı
cv2.INTER_CUBIC: Bikubikalıq interpolyaciya
cv2.INTER_LANCZOS4: Lanczos algoritmı
Pillow menen masshtablaw
python
from PIL import Image
image = Image.open('suwret.jpg')
resized = image.resize((new_width, new_height), Image.BILINEAR)
Bul jerde Image.BILINEAR ornına tómendegilerdi qollanıwǵa boladı:
Image.NEAREST: Eń jaqın qońsı usılı
Image.BICUBIC: Bikubikalıq interpolyaciya
Image.LANCZOS: Lanczos algoritmı
Qollanılıw tarawları
Kórinisti masshtablaw kóplegen tarawlarda qollanıladı:
1.Veb-dizayn: Veb-saytlar ushın súwretlerdiń ólshemin ózgertiw
2.Cifrlı fotografiya: Súwretlerdi qayta islew hám redaktorlaw
3.Medicinada: Rentgen, MRT hám basqa da medicinada qollanılatuǵın súwretlerdi tallaw

4.Videoni qayta islew: Videolardı hár qıylı ólshemlerge masshtablaw
5.Mashina kóriwi: Súwretlerdi analizlew ushın standart ólshemge keltiriw
6.Sputniklik súwretler: Úlken ólshemdegi sputniklik súwretlerdi qayta islew
Kórinisti masshtablaw - bul súwretti qayta islew tarawındaǵı áhmiyetli process. Hár bir masshtablaw usılınıń ózine tán artıqmashılıqları hám kemshilikleri bar. Qollanılatuǵın usıldı tańlaw wazıypanıń talabına, kerekli sapa dárejesine hám bar bolǵan resurslarǵa baylanıslı boladı.
Tómendegi mısalda biz hár qıylı masshtablaw usılların qollanamız hám olardıń nátiyjelerin salıstıramız.
import cv2
import numpy as np
import matplotlib.pyplot as plt
def load_image(path): return cv2.imread(path)
def resize_image(image, width, height, method): if method == cv2.INTER_NEAREST:
return cv2.resize(image, (width, height), interpolation=cv2.INTER_NEAREST) elif method == cv2.INTER_LINEAR:
return cv2.resize(image, (width, height), interpolation=cv2.INTER_LINEAR) elif method == cv2.INTER_CUBIC:
return cv2.resize(image, (width, height), interpolation=cv2.INTER_CUBIC) elif method == cv2.INTER_LANCZOS4:
return cv2.resize(image, (width, height), interpolation=cv2.INTER_LANCZOS4)
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(cv2.cvtColor(images[i], cv2.COLOR_BGR2RGB)) 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)
# Jańa ólshemler
new_width, new_height = 800, 600
# Hár qıylı usıllardı qollanıw
nearest_neighbor = resize_image(original_image, new_width, new_height, cv2.INTER_NEAREST)
bilinear = resize_image(original_image, new_width, new_height, cv2.INTER_LINEAR) bicubic = resize_image(original_image, new_width, new_height, cv2.INTER_CUBIC)

lanczos = resize_image(original_image, new_width, new_height, cv2.INTER_LANCZOS4)
# Nátiyjelerin kórsetiw
images = [nearest_neighbor, bilinear, bicubic, lanczos]
titles = ['Nearest Neighbor', 'Bilinear', 'Bicubic', 'Lanczos'] plot_results(images, titles)
# Masshtablanǵan súwretlerdi saqlaw cv2.imwrite('nearest_neighbor.jpg', nearest_neighbor) cv2.imwrite('bilinear.jpg', bilinear) cv2.imwrite('bicubic.jpg', bicubic) cv2.imwrite('lanczos.jpg', lanczos)
print("Barlıq masshtablanǵan súwretler saqlandi.")
Bul kodta biz tórt túrli masshtablaw usılın ámelge asırdıq:
1.Eń jaqın qońsı usılı (Nearest Neighbor)
2.Sızıqlı interpolyaciya (Bilinear)
3.Bikubikalıq interpolyaciya (Bicubic)
4.Lanczos algoritmı
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.Eger kerek bolsa, new_width hám new_height ózgeriwshilerin ózgertiń.
4.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 belgilengen ólshemge masshtablaydı.
3.Nátiyjelerin bir grafika panelinde kórsetedi.
4.Masshtablanǵan súwretlerdi saqlap qoyadı.
Bul kod arqalı siz hár qıylı masshtablaw usıllarınıń nátiyjelerin kóriw hám salıstırıw múmkinshiligine iye bolasız. Hár bir usıldıń ózine tán ózgeshelikleri bar ekenin bayqawıńız múmkin. Mısalı:
Eń jaqın qońsı usılı eń tez, biraq sapası tómenirek bolıwı múmkin.
Sızıqlı interpolyaciya orta dárejeli sapa menen tezlikti beredi.
Bikubikalıq interpolyaciya joqarı sapa beredi, biraq ástenirek.
Lanczos usılı eń joqarı sapanı beredi, biraq eń ásten isleydi.
Bul mısal arqalı siz hár qıylı jaǵdaylarda qaysı usıldı qollanıw kerekligin túsiniwińizge járdem beredi.