Görüntü elde etme, örnekleme, renk ve geometri
Işığın sensöre ulaşmasından piksel matrisinin oluşmasına kadar olan süreç, kaç örneğin yettiği (Nyquist), görüntüyü büyütüp küçültmek, pikseller arası ilişkiler, renklerin sayılarla nasıl gösterildiği ve görüntünün geometrisinin nasıl değiştirildiği.
2.1Görüntü oluşumu
Basit bir görüntü oluşum modeli üç adımdan oluşur:
- Sahne tek bir kaynakla aydınlatılır.
- Sahne ışınımı kameraya doğru yansıtır.
- Kamera bu ışınımı algılar: eskiden filmdeki kimyasallarla, bugün sensör dizisiyle.
İğne deliği kamera
Benzer üçgenlerden, sahnedeki $(X, Y, Z)$ noktasının görüntü düzlemindeki izdüşümü (odak uzaklığı $f$):
Eksi işareti ters çevrilmeyi, $1/Z$ çarpanı ise perspektifi gösterir: uzaktaki nesneler küçük görünür. Pratikte daha fazla ışık almak için açıklık büyütülür. Bu durumda her sahne noktasından gelen ışın demetini görüntü düzlemindeki tek bir noktaya odaklamak için açıklığa bir mercek yerleştirilir.
| Parametre grubu | İçerik |
|---|---|
| Optik | Mercek tipi, odak uzaklığı, görüş alanı (field of view) |
| Fotometrik | Aydınlatmanın tipi, şiddeti ve yönü; görülen yüzeylerin yansıtma özellikleri |
| Geometrik | İzdüşüm tipi; kameranın uzaydaki konumu ve yönelimi; görüntülemenin getirdiği perspektif bozulmaları |
Dijital kamerada görüntü oluşumu
Nesnenin görüntüsü
Sürekli konum, sürekli renk.
Mercekle izdüşüm
Görüntü sensör düzlemine odaklanır.
Ayrık sensör dizisi
Her sensör kendi küçük alanına düşen ışığın ortalamasını kaydeder: örnekleme. Sonuç ayrık konumlarda sürekli renklerdir.
Nicemleme
Ölçülen sürekli değerler sonlu bir değer kümesine eşlenir: dijital görüntü.
2.2Görüntü elde etme ve sensörler
Görüntüler genellikle bir sahneyi aydınlatıp nesnelerin yansıttığı enerjiyi soğurarak üretilir. Ancak “aydınlatma” ve “sahne” kavramları sıradan anlamlarının çok dışında olabilir: iskeletin X-ışını görüntüsü, anne karnındaki bebeğin ultrasonu, moleküllerin elektron mikroskobu görüntüleri…
Gelen enerji, o enerji türüne duyarlı bir sensör malzemesine çarpar ve bir gerilim üretir. Bu gerilim sayısallaştırılır. Sensörler üç şekilde düzenlenebilir:
Tek sensör
Sensör ile nesne arasında x ve y yönünde göreli hareket gerekir. Yavaş ama hassastır (ör. mikro-yoğunluk ölçer).
Sensör şeridi (çizgi)
Bir yönde çizgi, diğer yönde hareket: düz yataklı tarayıcı, uçaktan görüntüleme. Halka biçimli şeritler CT'de kullanılır.
2B sensör dizisi
Dijital kameralar. Görünür ve yakın kızılötesi görüntülemenin çoğu bugün 2B CCD (veya CMOS) dizileriyle yapılır.
CCD (yük bağlaşımlı aygıt)
CCD (charge-coupled device): küçük katı hal hücreleri ışık enerjisini elektrik yüküne çevirir. Görüntü düzlemi, bilgisayarın satır satır okuyabildiği dijital bir bellek gibi davranır. Yapısı:
- Fotositeler (photosites): ışığı toplayan hücreler.
- Dikey taşıma kaydedicileri: yükleri satır satır aşağı kaydırır.
- Yatay taşıma kaydedicisi: en alttaki satırı alır ve yükleri tek tek çıkışa kaydırır.
- Çıkış kapısı ve yükselteç: her yükü gerilime çevirir.
CCD okuma (kova zinciri)
Dikey kaydırma, tüm satırları bir aşağı indirir ve en alttaki satırı yatay kaydediciye aktarır. Yatay kaydırma, kaydedicideki yükleri sağa kaydırır; en sağdaki yük çıkış yükseltecine gider. Kaydedici boşalınca bir sonraki dikey kaydırma yapılır.
Bugünkü telefon kameralarının çoğu CMOS sensör kullanır. CMOS'ta her pikselin kendi yükselteci vardır ve pikseller tek tek okunabilir. Renk için sensörün önüne bir renk filtresi dizisi (genellikle Bayer deseni: her 2×2 blokta 2 yeşil, 1 kırmızı, 1 mavi) konur. Eksik renkler komşu piksellerden interpolasyonla bulunur.
2.3Örnekleme ve nicemleme
- Örnekleme (sampling): görüntünün değerini sonlu sayıda noktada ölçmek, yani uzamsal koordinatları sayısallaştırmak.
- Nicemleme (quantization): örneklenen noktada ölçülen değeri bir tamsayıyla temsil etmek, yani genliği (parlaklık seviyesini) sayısallaştırmak.
Dijital sensör yalnızca sınırlı sayıda örneği, ayrık bir enerji seviyeleri kümesinde ölçebilir. Dijital görüntü bu yüzden gerçek dünya sahnesinin her zaman yalnızca bir yaklaşıklığıdır.
Bir tarama çizgisinin örneklenmesi ve nicemlenmesi
İnce eğri: görüntüdeki bir satır boyunca sürekli yoğunluk. Dikey çizgiler: örnekleme konumları. Yatay çizgiler: izin verilen L seviye. Noktalar: her örneğin en yakın seviyeye yuvarlanmış değeri (G&W Şekil 2.16'nın benzeri).
Sensör, pikselin kapladığı küçük karedeki sürekli görüntünün ortalamasını ölçer (slaytta: “take the average within each square”). Piksel kenarı $\Delta$ ise:
Nicemlemede, sürekli değerler sonlu ve ayrık bir renk kümesine eşlenir. 8 bitlik bir değeri $k$ bite indiren düzgün nicemleyici örneğin $q = \lfloor r / 2^{8-k} \rfloor$ şeklindedir.
Uzamsal örnekleme ve gri seviye nicemleme
k ≤ 4 olduğunda gülün arkasındaki düzgün geçişlerde yanlış konturlama (false contouring) belirir: göz, yapay basamakları kontur olarak algılar. Çarpan büyüdükçe dama tahtası etkisi görülür.
2.4Uzamsal ve yoğunluk çözünürlüğü
Uzamsal çözünürlük
Görüntünün uzamsal çözünürlüğü örneklemenin nasıl yapıldığıyla belirlenir. Kısaca ayırt edilebilen en küçük ayrıntıdır.
- Birim uzaklık başına çizgi çifti (line pairs) veya birim uzaklık başına nokta (piksel) sayısıyla ölçülür. Görüntü işlemciler piksel boyutundan, grafik tasarımcılar dpi'den (inç başına nokta) söz eder.
- Baskı örnekleri (G&W): gazete ~75 dpi, dergi ~133 dpi, parlak broşür ~175 dpi, ders kitabı sayfası ~2400 dpi.
Büyük görüntü boyutu tek başına yüksek uzamsal çözünürlük anlamına gelmez. 1280×960'lık bir fotoğraf geniş bir manzarayı gösteriyorsa, tek bir piksel sahnede büyük bir alana karşılık gelir. Çözünürlük, piksel sayısının sahnedeki fiziksel boyuta oranıyla anlamlıdır.
Yoğunluk (gri seviye) çözünürlüğü
Görüntüyü temsil etmek için kullanılan yoğunluk seviyesi sayısıdır. Ne kadar çok seviye kullanılırsa o kadar ince ayrıntı seçilebilir. Genellikle her seviyeyi saklamak için kullanılan bit sayısıyla verilir.
| Bit | Seviye sayısı | Örnek |
|---|---|---|
| 1 | 2 | 0, 1 |
| 2 | 4 | 00, 01, 10, 11 |
| 4 | 16 | 0000, 0101, 1111 |
| 8 | 256 | 00110011, 01010101 |
| 16 | 65 536 | 1010101010101010 |
Slaytlardaki G&W Şekil 2.22 (az ayrıntılı kadın yüzü, orta ayrıntılı kameraman, çok ayrıntılı kalabalık) bir gözlemi gösterir: çok ayrıntı içeren görüntülerde daha az gri seviye yeterlidir. Kitaptaki “eş tercih eğrileri” (isopreference curves) bunu ölçer.
Ne kadar çözünürlük yeterli?
Görüntünün içeriğine ve onunla ne yapılacağına bağlıdır. Görüntü estetik açıdan hoş görünüyor mu? Görmek istediğiniz şeyi görebiliyor musunuz? Slayttaki trafik görüntüsü araçları saymak için yeterlidir ama plakayı okumak için değildir.
Sahne alanı 1 km², uzamsal çözünürlük 20 çizgi/km, 64 gri seviye. Depolama boyutu nedir?
Piksel sayısı $20 \times 20 = 400$. 64 seviye için $\log_2 64 = 6$ bit/piksel. $400 \times 6 = 2400$ bit $= 300$ bayt $\approx 0.3$ kB (sıkıştırma ve başlık hariç).
2.5Nyquist oranı, örtüşme ve Moiré
Her sinyal farklı frekanslardaki sinüs ve kosinüslerin doğrusal bir birleşimi olarak yazılabilir (Fourier, Hafta 5). Fiziksel nedenlerle gerçek dünyadaki her sinyalin en yüksek bir frekans bileşeni vardır.
Bir sinyal en yüksek frekans bileşeninin iki katından fazla bir hızla örneklenirse örneklerinden tam olarak geri elde edilebilir:
$$f_s \gt 2 f_{\max} \qquad (2 f_{\max}: \text{Nyquist oranı})$$Görüntü diliyle: piksel genişliği, görüntüdeki en küçük periyodun yarısından küçük veya ona eşit olmalıdır. Slayttaki örnekte en küçük periyot 2 mm ise 1 mm'lik pikseller hiçbir ayrıntıyı kaybetmez.
Daha düşük hızla örneklenirse (alt örnekleme, undersampling) örtüşme (aliasing) olur: örneklenmiş sinyalde, orijinalde bulunmayan frekanslar belirir. $f$ frekanslı bir bileşen $f_s$ ile örneklendiğinde, $f_s/2$'nin altına “katlanan” takma frekans:
1B örtüşme: yetersiz örneklenen sinüs
Gri: gerçek sinyal. Noktalar: örnekler. Kırmızı kesikli: örneklerden geri kurulabilecek en düşük frekanslı sinüs. $f_s \gt 2f$ olduğunda kırmızı eğri gerçeğiyle çakışır; aksi halde aynı noktalardan geçen, daha yavaş, sahte bir sinüs görülür.
Moiré deseni
Moiré deseni örtüşmenin görünür bir örneğidir (G&W Şekil 2.24). Neredeyse eş aralıklı iki periyodik desen üst üste geldiğinde, desenlerin hiçbirinde bulunmayan düşük frekanslı yeni bir desen belirir. Taranmış gazete fotoğraflarında ve televizyonda çizgili gömleklerde görülür.
İki ızgaranın üst üste binmesi
2B örtüşme: bölge plakasının alt örneklenmesi
Filtresiz alt örneklemede köşelerde, orijinalde olmayan sahte halkalar belirir. Bunlar örtüşmedir. Önce bulanıklaştırmak yüksek frekansları bastırır; sahte halkalar kaybolur, onların yerine bölge düzgün griye döner. Kitaptaki not: sonlu boyutlu görüntülerin spektrumu teorik olarak sonsuzdur, bu yüzden örtüşme tamamen önlenemez, yalnızca azaltılabilir.
2.6İnterpolasyon: büyütme ve küçültme
İnterpolasyon: bilinen verileri kullanarak bilinmeyen konumlardaki değerleri kestirmek. Büyütme (zooming), küçültme (shrinking), döndürme ve geometrik düzeltmelerde kullanılır.
Büyütme iki adımdır: önce yeni piksel konumları oluşturulur, sonra bu konumlara yoğunluk atanır. Yeni konumlar eski ızgaraya göre genellikle tamsayı olmayan koordinatlara düşer.
En yakın komşu (nearest neighbor)
Her yeni piksele, giriş görüntüsünde en yakın pikselin değeri atanır. Tamsayı katlı büyütmede bu, satır ve sütunların tekrarlanmasıdır: piksel çoğaltma (pixel replication). Basit ve hızlıdır ama bloklu/dama tahtası artefaktları üretir, keskinlik kaybolur.
Çift doğrusal (bilinear)
4 en yakın komşu kullanılır, sonuç çok daha iyidir. Genel biçim $v(x,y) = ax + by + cxy + d$; dört katsayı dört komşudan bulunur. Slayttaki biçimiyle, $P(1,1)$ sol üst komşu, $d$ yatay ve $d'$ dikey kesirli uzaklık ($0 \le d, d' \lt 1$) olmak üzere:
$P(1,1)=10$, $P(1,2)=20$, $P(2,1)=30$, $P(2,2)=40$; $d = 0.25$, $d' = 0.5$.
$$P' = 10(0.75)(0.5) + 20(0.25)(0.5) + 30(0.75)(0.5) + 40(0.25)(0.5) = 3.75 + 2.5 + 11.25 + 5 = 22.5$$Kontrol (ayrılabilirlik): üst satırda $10 + 0.25 \cdot 10 = 12.5$, alt satırda $30 + 0.25 \cdot 10 = 32.5$, dikeyde $12.5 + 0.5 \cdot 20 = 22.5$. Çift doğrusal interpolasyon, önce bir yönde sonra diğer yönde yapılan iki doğrusal interpolasyondur.
Çift kübik (bicubic)
16 en yakın komşu (4×4) kullanılır:
16 katsayı, dört köşedeki değerler, türevler ($f_x$, $f_y$) ve çapraz türevlerden ($f_{xy}$) kurulan 16 denklemle bulunur. Görüntüler en keskin bu yöntemle elde edilir ve ince ayrıntılar korunur, ama yöntem yavaştır. Ticari yazılımların çoğunda standart yöntemdir.
8× büyütme: en yakın komşu, çift doğrusal, çift kübik
Küçültme
Küçültme alt örneklemeyle yapılır (satır ve sütun silme). G&W Şekil 2.19'da 1024×1024'lük görüntü 32×32'ye kadar küçültülür. Şekil 2.20'de bu görüntüler piksel çoğaltmayla tekrar 1024×1024'e büyütülür ve ayrıntı kaybı ile dama tahtası etkisi açıkça görülür. Alt örnekleme örtüşmeye yol açabileceği için önce hafif bir bulanıklaştırma yapmak iyi bir uygulamadır.
B = imresize(I, 4, 'nearest'); % piksel çoğaltma
B = imresize(I, 4, 'bilinear');
B = imresize(I, 4, 'bicubic'); % varsayılan yöntem
S = imresize(I, 0.25); % küçültürken varsayılan olarak örtüşme önleyici filtre uygulanır
S = I(1:4:end, 1:4:end); % filtresiz alt örnekleme (satır/sütun atma)
2.7Pikseller arası temel ilişkiler
Komşuluk
$(x,y)$ konumundaki bir $p$ pikselinin üç tür komşuluğu vardır:
- $N_4(p)$, 4-komşular: yatay ve dikey komşular $(x\pm1, y)$, $(x, y\pm1)$. Her biri $p$'ye birim uzaklıktadır.
- $N_D(p)$, köşegen komşular: $(x\pm1, y\pm1)$.
- $N_8(p) = N_4(p) \cup N_D(p)$, 8-komşular.
$p$ görüntünün kenarındaysa bazı komşular görüntünün dışına düşer.
Bitişiklik
$V$, bitişikliği tanımlamak için kullanılan değerler kümesi olsun. İkili görüntüde $V = \{1\}$, gri tonlu görüntüde ör. $V = \{50, \ldots, 60\}$ olabilir. Değerleri $V$'de olan iki piksel $p$ ve $q$ için:
- 4-bitişiklik: $q \in N_4(p)$.
- 8-bitişiklik: $q \in N_8(p)$.
- m-bitişiklik (karma): (i) $q \in N_4(p)$ veya (ii) $q \in N_D(p)$ ve $N_4(p) \cap N_4(q)$ kümesinde değeri $V$'de olan piksel yoksa.
m-bitişikliğin amacı: 8-bitişiklikte ortaya çıkan belirsizliği (aynı iki piksel arasında birden fazla yol, “üçgen” bağlantılar) ortadan kaldırmaktır. Bu belirsizlik bölge ve sınır tanımlarını ve yol hesaplarını karıştırır. m-bitişiklik, 4-yoldan gidilebiliyorsa köşegen bağlantıyı kullanmaz.
4-, 8- ve m-bitişiklik (hücrelere tıklayın)
Değeri 1 olan pikseller dolu, bitişik çiftler çizgiyle bağlı. Varsayılan desende 8-bitişiklik sağ üstte bir üçgen (çift yol) oluşturur; m-bitişiklik bu köşegeni kaldırır ama sağ alttaki köşegeni korur, çünkü orada 4-yol yoktur.
Yol, bağlantılılık, bölge ve sınır
- Yol (path, digital curve): $p = (x,y)$'den $q = (s,t)$'ye, ardışık her iki pikselin bitişik olduğu farklı piksellerden oluşan dizi: $(x_0,y_0), (x_1,y_1), \ldots, (x_n, y_n)$, burada $(x_0,y_0) = (x,y)$ ve $(x_n,y_n)=(s,t)$. $n$ yolun uzunluğudur. $(x_0,y_0) = (x_n,y_n)$ ise yol kapalıdır. Kullanılan bitişikliğe göre 4-, 8- veya m-yol denir.
- Bağlantılılık: $S$ bir piksel alt kümesi olsun. $p$ ile $q$ arasında tamamen $S$ içinde kalan bir yol varsa ikisi $S$ içinde bağlıdır. Bunun için iki koşul gerekir: pikseller komşu olmalı ve gri seviyeleri benzerlik ölçütünü (ör. eşitlik) sağlamalıdır.
- Bağlı bileşen: $S$'deki bir piksele bağlı tüm piksellerin kümesi. $S$'nin tek bir bağlı bileşeni varsa $S$'ye bağlı küme denir.
- Bölge: $R$ bağlı bir küme ise $R$ bir bölgedir. $R_i \cup R_j$ bağlı bir küme oluşturuyorsa iki bölge bitişiktir, aksi halde ayrıktır (4- ya da 8-bitişiklik belirtilmelidir).
- Sınır (kenarlık, kontur): $R$'deki pikseller arasında, $R$'de olmayan en az bir komşusu bulunanların kümesi. Bu tanım iç sınırı verir; arka plandaki karşılığına dış sınır denir. $R$ tüm görüntüyse sınırı ilk ve son satır ile sütunlardır.
- Kenar ve sınır farkı: sınır, bitişik piksellerle tanımlanan küresel bir kavramdır ve kapalı bir yol oluşturur. Kenar yereldir; gri seviyede belirgin bir geçişi, yani yoğunluk süreksizliğini gösterir. İkisi örtüşebilir de örtüşmeyebilir de (ikili görüntülerde örtüşürler).
Aşağıdaki görüntüde $p$ (sol alt) ile $q$ (sağ üst) arasındaki en kısa 4-, 8- ve m-yolun uzunluğunu bulun.
| 4-yol | 8-yol | m-yol | |
|---|---|---|---|
| $V = \{0, 1\}$ | yok | 4 | 5 |
| $V = \{1, 2\}$ | 6 | 4 | 6 |
$V=\{0,1\}$ için 4-yol yoktur, çünkü $p$'nin 4-komşularından hiçbiri üzerinden $q$'ya ulaşılamaz. Her durumda 8-yol ≤ m-yol olur; m-yol köşegeni yalnızca zorunlu olduğunda kullanır.
Uzaklık ölçüleri
$p=(x,y)$, $q=(s,t)$, $z=(v,w)$ pikselleri için $D$ bir uzaklık fonksiyonu (metrik) ise:
- $D(p,q) \ge 0$; $D(p,q) = 0 \iff p = q$
- $D(p,q) = D(q,p)$ (simetri)
- $D(p,z) \le D(p,q) + D(q,z)$ (üçgen eşitsizliği)
| Uzaklık | Formül | $D \le r$ olan pikseller |
|---|---|---|
| Öklid $D_e$ | $\sqrt{(x-s)^2 + (y-t)^2}$ | Disk (çember) |
| Şehir-blok (Manhattan) $D_4$ | $|x-s| + |y-t|$ | Elmas; $D_4 = 1$ olanlar $N_4$ |
| Satranç tahtası $D_8$ | $\max(|x-s|,\ |y-t|)$ | Kare; $D_8 = 1$ olanlar $N_8$ |
$D_4$ ve $D_8$ pikseller arasında bir yol olup olmamasına veya piksel değerlerine bağlı değildir, yalnızca koordinatlara bağlıdır. $D_m$ uzaklığı ise iki nokta arasındaki en kısa m-yolun uzunluğudur ve yol üzerindeki piksellerin değerlerine bağlıdır.
$p = (2,3)$, $q = (5,7)$: $|\Delta x| = 3$, $|\Delta y| = 4$.
$D_e = \sqrt{9 + 16} = 5$, $D_4 = 3 + 4 = 7$, $D_8 = \max(3,4) = 4$. Her zaman $D_8 \le D_e \le D_4$ sırası geçerlidir.
Uzaklık haritaları
Merkezdeki piksel $p$. Bir hücreye tıklayınca o hücre $q$ olur ve üç uzaklık birlikte hesaplanır.
D = bwdist(BW, 'cityblock'); % en yakın 1-pikseline D4 uzaklığı
D = bwdist(BW, 'chessboard'); % D8 ('euclidean' → De)
CC = bwconncomp(BW, 4); % 4-bağlı bileşenler (8-bağlı için 8)
L = bwlabel(BW, 8); % bileşenleri 1, 2, 3, ... ile etiketle
2.8Küme, mantık ve aritmetik işlemler
Küme ve mantık işlemleri
Bir görüntüdeki bölge (nesne), o bölgedeki piksellerin koordinatlarından (tamsayı sıralı çiftler) oluşan bir küme olarak gösterilebilir. Temel kavramlar: $a \in A$ (eleman), $A = \emptyset$ (boş küme), $A \subseteq B$ (alt küme), $C = A \cup B$ (birleşim), $C = A \cap B$ (kesişim), $A \cap B = \emptyset$ ise ayrık kümeler, evrensel küme, tümleyen $A^c = \{w \mid w \notin A\}$, fark $A - B = \{w \mid w \in A,\ w \notin B\} = A \cap B^c$.
İkili görüntülerde bu işlemlerin karşılığı mantık işlemleridir: birleşim → OR, kesişim → AND, tümleyen → NOT; ayrıca XOR (yalnızca birinde olanlar).
İkili görüntülerde mantık işlemleri
Beyaz = 1 (kümeye ait), siyah = 0. A − B = A AND (NOT B).
Gri tonlu görüntülerde G&W birleşimi noktasal maksimum, kesişimi noktasal minimum, tümleyeni $(L-1) - f(x,y)$ olarak tanımlar. Sonuncusu Hafta 3'teki negatif dönüşümünün ta kendisidir.
Aritmetik işlemler
Görüntüler arasındaki aritmetik işlemler dizi (eleman eleman) işlemleridir; karşılık gelen piksel çiftleri arasında yapılır, matris çarpımı değildir:
- Toplama ve ortalama: $K$ adet gürültülü görüntünün ortalaması gürültüyü azaltır. Astronomide çok kullanılır.
- Çıkarma: iki görüntü arasındaki farkları bulmak, ör. değişim tespiti veya tıpta maske modlu radyografi (kontrast madde öncesi ve sonrası).
- Çarpma ve bölme: gölgelenme düzeltme, bir ilgi bölgesini maskeyle seçme.
$g_i(x,y) = f(x,y) + \eta_i(x,y)$ ($\eta_i$: sıfır ortalamalı, ilintisiz, varyansı $\sigma_\eta^2$ olan gürültü) ise ortalama görüntü için:
K gürültülü görüntünün ortalaması
8 bitlik görüntülerde toplama 255'i aşabilir, çıkarma negatif olabilir. Ya sonuç kırpılır (MATLAB'de uint8 aritmetiği doyuma girer: 200 + 100 = 255, 50 − 100 = 0) ya da tam aralığa ölçeklenir:
Doğrusal ve doğrusal olmayan işlemler
Bir $H$ operatörü doğrusaldır ancak ve ancak her $a, b$ ve $f, g$ için
yani hem toplanabilirlik hem de homojenlik sağlanıyorsa. Doğrusal işlemler iyi anlaşılmış ve öngörülebilir oldukları için yaygın kullanılır. Doğrusal olmayan işlemlerin sonucu öngörmek zordur, genellikle kuramsal olarak iyi anlaşılmamışlardır ve sonuç genliğe bağlıdır.
$f_1 = \begin{bmatrix} 0 & 2 \\ 2 & 3 \end{bmatrix}$, $f_2 = \begin{bmatrix} 6 & 5 \\ 4 & 7 \end{bmatrix}$, $a_1 = 1$, $a_2 = -1$.
Sol taraf: $\max\{f_1 - f_2\} = \max \begin{bmatrix} -6 & -3 \\ -2 & -4 \end{bmatrix} = -2$. Sağ taraf: $\max\{f_1\} - \max\{f_2\} = 3 - 7 = -4$. $-2 \ne -4$, doğrusal değil. Toplam operatörü ise doğrusaldır.
Nokta işlemleri (slayt 2-7, s.24): her bir giriş pikselini tek bir çıkış pikseline eşler, $I_{out}(x,y) = f[I_{in}(x,y)]$. Kontrast iyileştirme, kontrast germe, gri seviye dönüşümleri olarak da bilinir ve yalnızca gri tonla sınırlı değildir (ör. sahte renklendirme). Konu Hafta 3'te ayrıntılı işleniyor.
2.9Renk temelleri ve renk modelleri
Renk algısı
Bir nesnenin rengi, o nesneden yansıyan ışığın doğasıyla belirlenir. Işık nesneye çarptığında, nesnenin malzemesine bağlı olarak bazı dalga boyları soğurulur, bazıları yansır. Yansıyan dalga boyları nesnenin rengi olarak algılanır. Örneğin beyaz ışıkla aydınlatılan yeşil bir nesne dalga boylarının çoğunu soğurur, yeşili (≈ 500–570 nm) yansıtır.
Gözde üç tür koni vardır: kırmızıya, yeşile ve maviye duyarlı. Göz bu üç ana rengi birleştirerek tüm renkleri ayırt eder. Beyin RGB sinyallerini ayrı bir parlaklık kanalına ve iki renk kanalına (ton ve doygunluk) dönüştürür. Bu yüzden renkli görüntüler üç bantla gösterilir, ama bu üç bant tek türlü değildir: R, G, B olabilir, L*, a*, b* de olabilir.
Slaytta fovea yakınındaki koni yoğunluğu için “#mavi ≪ #kırmızı < #yeşil” yazıyor. G&W 6.1 ise konilerin yaklaşık %65'inin kırmızıya, %33'ünün yeşile, yalnızca %2'sinin maviye duyarlı olduğunu söyler. İki kaynağın ortak ve önemli noktası: mavi koniler çok azdır.
Parlaklık ve renklilik gösterimi
Rengi 1B parlaklık ve 2B renklilik (chrominance) cinsinden kodlamanın pek çok yolu vardır. Renklilik genellikle ton (hue) ve doygunluk (saturation) ile verilir. Belirli bir parlaklık değeri, renk küpünde parlaklığın sabit olduğu bir düzlem tanımlar. Bu düzlemdeki bir nokta gridir. Bir rengin doygunluğu, düzlemde o rengin gri noktaya uzaklığıdır. Ton ise aynı düzlemde kırmızıdan ölçülen açısal sapmadır.
RGB modeli
Renkli görüntüler üç yoğunluk haritasından oluşur. Her piksel üç elemanlı bir vektördür ve her renk 3B vektör uzayında bir noktaya karşılık gelir.
| Renk | (R, G, B) |
|---|---|
| Siyah | (0, 0, 0) |
| Kırmızı | (255, 0, 0) |
| Yeşil | (0, 255, 0) |
| Mavi | (0, 0, 255) |
| Sarı | (255, 255, 0) |
| Macenta | (255, 0, 255) |
| Camgöbeği | (0, 255, 255) |
| Beyaz | (255, 255, 255) |
- R, G, B ışığın ana renkleridir (pigment değil): toplamsal (additive) model. Monitörler ve televizyonlar böyle çalışır.
- RGB uzayı gözün çalışma biçimine bağlıdır: üç tür koni, farklı dalga boylarına farklı tepki verir.
- Renkler, orijini (siyah) köşede olan bir küp içinde yer alır. Negatif değer olmadığı için küp ilk sekizde birlik bölgededir. Siyahtan beyaza giden köşegen gri çizgidir (R = G = B).
- Renk başına 8 bit (24 bit/piksel) ile $256^3 = 16\,777\,216$ farklı renk elde edilir. Renk uzayı ayrıktır.
- Ana renkler: kırmızı, yeşil, mavi. İkincil renkler: macenta (R+B), camgöbeği (G+B), sarı (R+G). R + G + B = beyaz.
Toplamsal (ışık, RGB)
R+G = sarı, G+B = camgöbeği, R+B = macenta, hepsi = beyaz.
Çıkarmalı (mürekkep, CMY)
C+M = mavi, C+Y = yeşil, M+Y = kırmızı, hepsi = siyah (kuramsal).
RGB'den gri tona
İşlemeyi kolaylaştırmak için bazen her pikselde tek bir değer, yani yoğunluk isteriz:
- Basit ortalama: $i = \dfrac{r + g + b}{3}$
- Ağırlıklı ortalama: $i = a_1 r + a_2 g + a_3 b$, $a_1 + a_2 + a_3 = 1$. Göz yeşile daha duyarlı olduğu için yaygın formül:
MATLAB'deki rgb2gray aynı oranları kullanır: 0.2989, 0.5870, 0.1140.
HSV modeli
Farklı işler için farklı modeller vardır: renk analizi için HSV, baskı için CMYK, standart olarak CIE, TV yayını için YUV. Genellikle RGB ile aralarında dönüşüm yapılabilir; işe uygun olanı seçmek gerekir. HSV ışığa değil renge dayanır ve bir koni (altıgen koni) olarak gösterilir: koninin ucu siyah, tepesi ortası beyaz, kenarları canlı renkler olan bir renk çarkıdır.
| Bileşen | Anlamı | Geometride |
|---|---|---|
| Ton (Hue, H) | Rengin genel türü. Algılanan baskın dalga boyuyla belirlenen “saf rengin” adıdır. | Dikey eksen etrafındaki açı. Kırmızı 0°, sarı 60°, yeşil 120°, camgöbeği 180°, mavi 240°, macenta 300°. Ana renkler arası 120°, ikincil renkler ana renklerden 60° uzakta. |
| Doygunluk (S) | Saf rengin beyaz ışıkla ne kadar seyreltildiği: canlılık/donukluk, tonun saflığı. | Eksenden uzaklık (0 = gri) |
| Değer (Value, V) | Ne kadar parlak veya koyu olduğu: siyahtan parlak beyaza. | Eksen boyunca yükseklik |
RGB değerleri $[0,1]$ aralığına normalize edilmiş, $\max = \max(R,G,B)$, $\min = \min(R,G,B)$, $\Delta = \max - \min$ olsun:
RGB ile HSV arasındaki ilişki doğrusal değildir (slaytta “non-linear distortion”).
Ders kitabı HSV yerine HSI modelini kullanır:
$$I = \frac{R+G+B}{3}, \qquad S = 1 - \frac{3\min(R,G,B)}{R+G+B}, \qquad H = \begin{cases} \theta & B \le G \\ 360^\circ - \theta & B \gt G \end{cases}$$ $$\theta = \cos^{-1}\left\{ \frac{\tfrac12\left[(R-G) + (R-B)\right]}{\left[(R-G)^2 + (R-B)(G-B)\right]^{1/2}} \right\}$$CMY ve CMYK
- Camgöbeği (cyan), macenta, sarı (ve siyah K): baskıda kullanılır. Çıkarmalı renklerdir: camgöbeği kırmızıyı, macenta yeşili, sarı maviyi soğurur.
- Karışımları RGB'yi verir: M + Y = R, C + Y = G, C + M = B. Kuramsal olarak C + M + Y = K (siyah), ama pratikte bulanık kahverengimsi bir renk çıkar. Bu yüzden ayrı bir gerçek siyah mürekkep (K) kullanılır.
- RGB ve CMY birbirinin tümleyenidir. Değerler $[0,1]$ aralığındaysa, ideal mürekkepler için:
Gerçek mürekkepler daha karmaşıktır, düzgün bir siyah gerektirir ve bu dönüşümü biraz zorlaştırır. Yaygın bir CMYK dönüşümü: $K = \min(C,M,Y)$, $C' = (C-K)/(1-K)$ (M ve Y için benzer).
CMYK slaytında karışımlar “M+Y=R, C+Y=G, M+Y=B” diye yazılmış. Üçüncüsü C+M=B olmalı. Sonraki slayttaki şekilde de “Cyan + Magenta = Blue” yazar.
Aynı rengin farklı eksen takımlarında farklı koordinatları vardır. Örneğin turuncu RGB'de (255, 165, 0), CMY'de (0, 90, 255)'tir.
YUV, YIQ ve YCbCr
YUV, bir parlaklık (luminance) bileşeni (Y) ve iki renklilik bileşeni (U, V) içeren her modelin genel adıdır. YIQ aynı fikrin NTSC'deki karşılığıdır, Y′CbCr ise YUV'nin özel bir örneğidir.
- YUV (PAL) televizyon sinyallerinde kullanılır. Y yoğunluktur. U mavi-sarı eksenini, V kırmızı-yeşil eksenini taşır.
- Renkli TV'nin renk bilgisi ile siyah-beyaz TV'nin parlaklık bilgisi kolayca ayrılabilir: siyah-beyaz TV yalnızca Y'yi kullanır.
- Görme sistemi yoğunluğa renkten daha duyarlıdır. Bant genişliği sınırlı olduğu için çoğu Y'ye ayrılır; renklilik bilgisinin bir kısmı görüntü kalitesi düşmeden atılabilir.
YUV ile RGB doğrusal denklemlerle ilişkilidir. Y'nin ağırlıkları gri ton dönüşümündekiyle aynıdır:
Slayttaki U, V katsayıları aslında YCbCr'deki Cb, Cr katsayılarıdır (−0.169, −0.331, 0.5 / 0.5, −0.419, −0.081). Klasik PAL YUV'de $U = 0.492(B - Y)$, $V = 0.877(R - Y)$'dir. Sınavda slayttaki matrisi kullanın. Renkliliğin daha düşük çözünürlükte saklanması (ör. 4:2:0 alt örnekleme) JPEG ve MPEG'in de temelidir.
Hangi model ne zaman?
| Amaç | Model | Neden |
|---|---|---|
| Ekranda gösterme | RGB | Daha çok renk üretebilecek ana renkler (toplamsal) |
| Baskı | CMY(K) | Mürekkepler çıkarmalı çalışır |
| Renk farklarının analizi | HSV / HSI | Ton, doygunluk ve parlaklık ayrık; insan algısına yakın |
| İletim ve saklama | YIQ / YUV / YCbCr | Daha az fazlalık: parlaklık ayrı, renklilik sıkıştırılabilir |
Renk modeli dönüştürücü
Renk çarkında açı = ton (H), merkezden uzaklık = doygunluk (S); çark, V = 1 dilimidir. Renk örneğinin altındaki iki kutu: basit ortalama ve ağırlıklı (0.30/0.59/0.11) gri değer. Mavi renklerde bu iki değer arasındaki farka dikkat edin.
HSV = rgb2hsv(RGB); RGB = hsv2rgb(HSV);
YCC = rgb2ycbcr(RGB); YIQ = rgb2ntsc(RGB);
G = rgb2gray(RGB); CMY = imcomplement(RGB); % 1 - RGB (double) / 255 - RGB (uint8)
2.10Geometrik dönüşümler
Filtreler ve nokta işlemleri yoğunluğu değiştirir, piksellerin konumu ve geometri aynı kalır. Geometrik işlemler ise görüntünün geometrisini değiştirir: öteleme, döndürme, ölçekleme… Uygulamalar: görüntüyü veya pencereyi istenen boyuta büyütmek; bilgisayar grafiğinde dokuları bükerek yüzeylere giydirmek; görüntü çakıştırma ve geometrik düzeltme.
Geometrik işlem, $I$ görüntüsünü piksel koordinatlarını değiştirerek yeni bir $I'$ görüntüsüne dönüştürür: başlangıçta $(x,y)$'deki yoğunluk değeri $(x', y')$'ye taşınır. Örneğin öteleme $(x, y) \to (x + d_x,\ y + d_y)$.
Temel 2B dönüşümler
| Dönüşüm | Denklemler | Açıklama |
|---|---|---|
| Öteleme | $x' = x + d_x,\quad y' = y + d_y$ | Noktayı öteleme miktarlarını ekleyerek yeni konuma taşır: $P' = P + T$. Nesnenin her noktası aynı miktarda ötelenir. |
| Ölçekleme | $x' = s_x x,\quad y' = s_y y$ | Koordinatları ölçek çarpanlarıyla çarpar: $P' = SP$. $s_x = s_y$ ise düzgün, değilse düzgün olmayan ölçekleme. $s \gt 1$ büyütür, $s \lt 1$ küçültür, negatif değer yansıtır. Orijin etrafında yapıldığı için nesneyi de kaydırır. |
| Döndürme | $x' = x\cos\theta - y\sin\theta$ $y' = x\sin\theta + y\cos\theta$ | Orijin etrafında $\theta$ açısı kadar döndürür ($\theta \gt 0$: saat yönünün tersi). $P' = R(\theta)P$ |
| Kayma (shear) | x boyunca: $x' = x + b_x y,\ y' = y$ y boyunca: $x' = x,\ y' = y + b_y x$ | Nesnenin şeklini değiştirir: dikdörtgen paralelkenar olur. |
$P = (x, y)$ noktası orijinden $r$ uzaklıkta, x ekseniyle $\phi$ açısı yapsın: $x = r\cos\phi$, $y = r\sin\phi$. $\theta$ kadar döndürülünce:
$$x' = r\cos(\phi + \theta) = r\cos\phi\cos\theta - r\sin\phi\sin\theta = x\cos\theta - y\sin\theta$$ $$y' = r\sin(\phi + \theta) = r\cos\phi\sin\theta + r\sin\phi\cos\theta = x\sin\theta + y\cos\theta$$Sayısal (slayttaki ev şekli): $(5, 2)$ noktası $45^\circ$ döndürülürse $x' = (5-2)\cdot 0.7071 = 2.12$, $y' = (5+2)\cdot 0.7071 = 4.95$. $(9,2)$ noktası $(4.95,\ 7.78)$ olur.
Homojen koordinatlar
Öteleme bir toplamadır, diğerleri ise çarpma. Hepsini tek tip bir matris çarpımı olarak yazmak için bir koordinat eklenir:
$(x,y)$'nin homojen koordinatlarda birden çok gösterimi vardır: $w=1$ için $(x,y,1)$, $w=2$ için $(2x, 2y, 2)$… Bu noktaların hepsi homojen koordinat uzayında orijinden geçen bir doğru (izdüşümsel doğru) üzerindedir. Genellikle $w = 1$ alınır.
Ardışık dönüşümler:
- Öteleme: $T(d_{x2}, d_{y2})\,T(d_{x1}, d_{y1}) = T(d_{x1} + d_{x2},\ d_{y1} + d_{y2})$, yani ötelemeler toplanır.
- Ölçekleme: $S(s_{x2}, s_{y2})\,S(s_{x1}, s_{y1}) = S(s_{x1}s_{x2},\ s_{y1}s_{y2})$, yani çarpanlar çarpılır.
- Döndürme: $P'' = R(\theta_2)R(\theta_1)P = R(\theta_1 + \theta_2)P$, yani açılar toplanır.
Dönüşümlerin birleştirilmesi
Bir dizi dönüşümün matrisleri tek bir dönüşüm matrisinde birleştirilebilir: $P' = M_n \cdots M_2 M_1 P$. En sağdaki matris önce uygulanır.
Nesneyi $P_1$ noktası etrafında ölçekleyip döndürmek ve $P_2$'ye taşımak için: (1) $P_1$'i orijine ötele, (2) ölçekle ve döndür, (3) $P_2$'ye ötele:
$$M = T(P_2)\; R(\theta)\; S(s)\; T(-P_1)$$Merkez etrafında döndürme ($P_1 = P_2 = c$): $M = T(c)\,R(\theta)\,T(-c)$.
Matris çarpımı değişmeli değildir: öteleme + döndürme ≠ döndürme + öteleme.
Genel dönüşüm matrisi
Sol üstteki $2\times 2$ blok döndürme, ölçekleme ve kaymayı; $a_{13}, a_{23}$ ötelemeyi taşır. Bir dizi dönüşümü tek matrisle göstermek daha verimlidir: kaç dönüşüm birleştirilmiş olursa olsun nokta başına yalnızca 4 çarpma ve 4 toplama gerekir.
Dönüşüm hiyerarşisi
| Tür | İçerdiği | Parametre | Korunan | Korunmayan |
|---|---|---|---|---|
| Rijit (Öklid) | öteleme + döndürme | 3 | uzunluklar, açılar | konum, yönelim |
| Benzerlik | + düzgün ölçekleme | 4 | açılar (şekil) | uzunluklar |
| Afin | + düzgün olmayan ölçekleme, kayma | 6 | paralellik, doğrular, doğru üzerindeki uzaklık oranları | uzunluklar, açılar |
| İzdüşümsel (projective) | + perspektif | 8 | doğrular (doğrusallık) | paralellik |
- Rijit dönüşümde sol üst $2\times2$ blok ortonormaldir. $u_1 = (r_{11}, r_{12})$ ve $u_2 = (r_{21}, r_{22})$ satırları için $u_1\cdot u_1 = u_2 \cdot u_2 = 1$ ve $u_1 \cdot u_2 = 0$. Döndürme matrisinde: $\cos^2\theta + \sin^2\theta = 1$, $\cos\theta\sin\theta - \sin\theta\cos\theta = 0$.
- Afin eşleme (“3 nokta eşlemesi”): doğruları doğrulara, üçgenleri üçgenlere, dikdörtgenleri paralelkenarlara, paralel doğruları paralel doğrulara götürür. Doğru üzerindeki uzaklık oranları değişmez. 6 parametre, 3 nokta çiftiyle tek türlü belirlenir. Bazı varsayımlar altında perspektif izdüşümünün etkisine yaklaşmak için kullanılabilir.
- İzdüşümsel dönüşümde son satır $[0\ 0\ 1]$ değil, $[v_1\ v_2\ 1]$'dir. Bu yüzden $x' = \dfrac{a_{11}x + a_{12}y + a_{13}}{v_1 x + v_2 y + 1}$ olur. 8 parametre, 4 nokta çiftiyle belirlenir.
- Dönüşüm matrisinin tersi, ters eşlemeyi verir.
Görüntülerde uygulama: ters eşleme ve interpolasyon
Görüntü koordinatları yalnızca ayrık değerler alabildiği için bazı dönüşümler tamsayı olmayan $(x', y')$ verir. Çözüm komşu değerlerden interpolasyon yapmaktır.
İleri eşleme
Her giriş pikselini $(x', y') = M(x,y)$ konumuna “atmak”. Bazı çıkış piksellerine hiç değer düşmez (delikler), bazılarına birden fazla değer düşer.
Ters eşleme (tercih edilen)
Her çıkış pikseli için $(x, y) = M^{-1}(x', y')$ ile kaynağa gidilir ve oradaki değer interpolasyonla okunur. Her çıkış pikseli tam bir değer alır. MATLAB'deki imwarp böyle çalışır.
Çevirme ve 90° döndürme interpolasyon gerektirmez. Temel fikir, mevcut adres yerine dönüştürülmüş piksel adresine bakmaktır (koordinatlar $[0,1]$ aralığına normalize edilmiş, y yukarı):
| İşlem | $(x, y)$ konumundaki çıkış için bakılacak giriş adresi |
|---|---|
| Baş aşağı çevirme | $(x,\ 1 - y)$ |
| Yatay çevirme | $(1 - x,\ y)$ |
| 90° saat yönünün tersine döndürme | $(y,\ 1 - x)$ |
Afin dönüşüm laboratuvarı (ters eşleme)
Doğrusal olmayan bükmeler
Görüntü bükme (warping): bir fonksiyonla görüntünün başka bir yerindeki hangi pikselin okunacağı seçilir, ör. $x \leftarrow x + y \sin(\pi x)$. Aşağıdaki üç dönüşüm ters eşleme olarak verilmiştir: $(x', y')$ çıkış konumu, $(x,y)$ okunacak kaynak konumdur. Merkez $(x_c, y_c)$, $d_x = x' - x_c$, $d_y = y' - y_c$, $r = \sqrt{d_x^2 + d_y^2}$.
| Bükme | Ters eşleme | Parametreler |
|---|---|---|
| Twirl (girdap) | $\beta = \operatorname{atan2}(d_y, d_x) + \alpha \dfrac{r_{\max} - r}{r_{\max}}$ $r \le r_{\max}$ ise $x = x_c + r\cos\beta,\ y = y_c + r\sin\beta$; değilse $x = x',\ y = y'$ | Merkezde $\alpha$ kadar döndürür, $r$ arttıkça dönme azalır, $r_{\max}$ dışında görüntü değişmez. |
| Ripple (dalgalanma) | $x = x' + a_x \sin\!\left(\dfrac{2\pi y'}{\tau_x}\right),\quad y = y' + a_y \sin\!\left(\dfrac{2\pi x'}{\tau_y}\right)$ | Hem x hem y yönünde dalga biçimli kayma. Slaytta (piksel): $\tau_x = 120$, $\tau_y = 250$, $a_x = 10$, $a_y = 15$. |
| Spherical (küresel) | $z = \sqrt{r_{\max}^2 - r^2}$, $\beta_x = \left(1 - \tfrac{1}{\rho}\right)\sin^{-1}\!\dfrac{d_x}{\sqrt{d_x^2 + z^2}}$ ($\beta_y$ benzer) $r \le r_{\max}$ ise $x = x' - z\tan\beta_x,\ y = y' - z\tan\beta_y$ | Görüntünün üzerine konmuş bir mercekten bakmayı taklit eder. $\rho$: kırılma indisi (ör. 1.8), $r_{\max}$: mercek yarıçapı (ör. görüntü genişliğinin yarısı). |
Twirl, ripple, spherical
J = imrotate(I, 30, 'bilinear', 'crop'); % pozitif açı = saat yönünün tersi
J = fliplr(I); J = flipud(I); J = rot90(I); % interpolasyonsuz çevirme/döndürme
A = [cosd(30) -sind(30) 0; sind(30) cosd(30) 0; 0 0 1];
tform = affinetform2d(A); % R2022b ve sonrası; sütun vektörü kuralı
J = imwarp(I, tform, 'cubic'); % ters eşleme + interpolasyon
Eski sürümlerdeki affine2d satır vektörü kuralını kullanır: [x y 1] = [u v 1]*T. Bu yüzden oraya buradaki matrisin transpozu (A') verilir. affinetform2d ise ders notlarındaki $P' = AP$ kuralını kullanır.
2.11Haftanın özeti ve kendini test et
Örnekleme / nicemleme
Koordinatlar / genlik. $b = MNk$. Az seviye: yanlış konturlama.
Nyquist
$f_s \gt 2f_{\max}$; piksel ≤ en küçük periyot / 2. Aksi halde örtüşme: $f_a = |f - kf_s|$.
İnterpolasyon
NN: 1 komşu. Çift doğrusal: 4. Çift kübik: 16 komşu.
Uzaklıklar
$D_e = \sqrt{\Delta x^2 + \Delta y^2}$, $D_4 = |\Delta x| + |\Delta y|$, $D_8 = \max$. $D_8 \le D_e \le D_4$.
Bitişiklik
4, 8, m. m: köşegen yalnızca ortak 4-komşu $V$'de değilse.
Renk
Gri $= 0.30R + 0.59G + 0.11B$. CMY $= 1 - $RGB. HSV: H açı, S saflık, V parlaklık.
Geometri
Homojen koordinat, 3×3 matris. En sağdaki önce uygulanır. Rijit 3, benzerlik 4, afin 6, izdüşümsel 8 parametre.
Görüntüde uygulama
Ters eşleme $M^{-1}$ ve interpolasyon.
Görüntüdeki en ince ayrıntının periyodu 0.5 mm. Ayrıntı kaybolmaması için piksel boyutu en fazla ne olmalı?
Periyodun yarısı: 0.25 mm. Başka bir deyişle mm başına en az 4 örnek.
60 Hz'lik bir sinüs 100 Hz ile örnekleniyor. Hangi frekansta görünür?
$f_s = 100 \lt 2 \cdot 60 = 120$, yani örtüşme olur. $k = \operatorname{round}(0.6) = 1$, $f_a = |60 - 100| = 40$ Hz.
512×512, 8 bitlik bir görüntü 2 kat alt örneklenip 3 bite nicemleniyor. Depolama ne kadar azalır?
Önce: $512^2 \cdot 8 = 2\,097\,152$ bit = 262 144 bayt. Sonra: $256^2 \cdot 3 = 196\,608$ bit = 24 576 bayt. Oran ≈ 1/10.7.
p = (1,1) ve q = (4,5) için De, D4, D8?
$\Delta x = 3$, $\Delta y = 4$: $D_e = 5$, $D_4 = 7$, $D_8 = 4$.
Dört komşu 50, 100 (üst satır), 150, 200 (alt satır); d = 0.5, d' = 0.25 için çift doğrusal değer nedir?
Üst: $50 + 0.5\cdot50 = 75$. Alt: $150 + 0.5 \cdot 50 = 175$. Dikey: $75 + 0.25 \cdot 100 = \mathbf{100}$.
(3, 1) noktası orijin etrafında 90° saat yönünün tersine döndürülürse?
$x' = 3\cdot 0 - 1 \cdot 1 = -1$, $y' = 3 \cdot 1 + 1 \cdot 0 = 3$, sonuç $(-1, 3)$.
(2, 2) noktası etrafında 90° döndüren birleşik matrisi yazın.
Kontrol: (2,2) noktası $(0\cdot2 - 2 + 4,\ 2 + 0) = (2,2)$'ye gider, yani sabit kalır.
RGB = (255, 128, 0) için CMY, ağırlıklı gri değer ve ton (H)?
CMY = (0, 127, 255) (8 bit) veya (0, 0.498, 1). Gri $= 0.30\cdot255 + 0.59\cdot128 + 0.11\cdot0 \approx 152$. $\max = R$, $\Delta = 1$: $H = 60^\circ \cdot (0.502 - 0)/1 \approx 30^\circ$ (turuncu).
Afin dönüşüm kaç parametrelidir, neyi korur? Kaç nokta çiftiyle belirlenir?
6 parametre. Doğruları, paralelliği ve doğru üzerindeki uzaklık oranlarını korur; uzunlukları ve açıları korumaz. 3 nokta çifti (6 denklem) yeter.
Görüntü döndürürken neden ileri değil ters eşleme kullanılır?
İleri eşlemede bazı çıkış piksellerine hiç değer düşmez (delikler), bazılarına birden fazla değer düşer. Ters eşlemede her çıkış pikseli için kaynakta bir konum hesaplanıp interpolasyonla değer okunur, böylece her piksel tam bir değer alır.
m-bitişiklik neden tanımlanmıştır?
8-bitişiklikte iki piksel arasında birden fazla yol olabilir (üçgen bağlantılar). Bu belirsizlik bölge/sınır tanımlarını ve yol uzunluğu hesaplarını karıştırır. m-bitişiklik, 4-bağlantı varken köşegen bağlantıyı kullanmayarak bu belirsizliği giderir.