TEL 519E · Görüntü İşleme
Hafta 1

Giriş ve dijital görüntünün temelleri

Dijital görüntü nedir, görüntü işleme nerede başlar ve nerede biter, görüntüler hangi kaynaklardan gelir ve bilgisayarda nasıl saklanır? Haftanın sonunda MATLAB'de bir görüntüyü okuyup piksellerine erişebiliyor olacaksınız.

Kitap: G&W Bölüm 1, 2.1, 2.4 Slaytlar: ender_1, ender_2-2, 2-8, 2-9 Demo: 4 etkileşimli

1.1Dijital görüntü nedir?

“One picture is worth more than ten thousand words.” Görüntü işleme bu sözdeki “resmi” bir bilgisayarın üzerinde çalışabileceği sayılara dönüştürmekle başlar.

Tanım

Bir görüntü (image) iki boyutlu bir fonksiyondur: $f(x, y)$. Burada $x, y$ uzamsal koordinatlardır; $f$'nin herhangi bir $(x,y)$ noktasındaki genliğine o noktanın yoğunluğu veya gri seviyesi (intensity, gray level) denir.

$x$, $y$ ve $f(x,y)$ değerlerinin hepsi sonlu ve ayrık olduğunda görüntüye dijital görüntü denir. Dijital görüntü, piksel (picture element, pel) adı verilen sonlu sayıda öğeden oluşur. Her pikselin bir konumu $(x,y)$ ve bir değeri $f(x,y)$ vardır.

Nokta başına örnekTürNot
1Siyah-beyaz / gri tonlu (B&W, grayscale)Dersin büyük bölümünde bunlarla çalışacağız
3Kırmızı, Yeşil, Mavi (RGB)Renkli görüntü = üç gri tonlu görüntü
4RGB + “Alfa” (opacity)Alfa kanalı saydamlığı tutar (ör. PNG)
Etkileşimli

Görüntü aslında bir sayı matrisidir

Fareyi (veya parmağınızı) görüntü üzerinde gezdirin. 256×256, 8 bit gri tonlu.
konum: –
İmlecin çevresindeki 7×7 komşuluğun gri seviyeleri. Ortadaki hücre imlecin olduğu piksel. Hücre arka planı değerin kendisidir: 0 siyah, 255 beyaz.

1.2Dijital görüntü işleme nedir?

En basit tanımıyla dijital görüntülerin dijital bir bilgisayar aracılığıyla işlenmesidir. Görüntü işlemenin iki ana amacı vardır:

  1. İnsanın yorumlaması için resimsel bilginin iyileştirilmesi (daha net, daha kontrastlı, gürültüsüz görüntü).
  2. Görüntü verisinin saklama, iletim ve gösterim için işlenmesi ve otonom makine algısı için hazırlanması.

Görüntü işlemenin nerede bitip görüntü analizi veya bilgisayarlı görü (computer vision) alanlarının nerede başladığı tartışmalıdır. Bilgisayarlı görü, bilgisayarların bir görüntüde ne olduğunu “anlamasını” ve insan görmesinin diğer işlevlerini taklit etmesini hedefler; bazen yapay zekânın bir alt alanı sayılır. Bir görüntü işleme kitabıyla bir bilgisayarlı görü kitabını yan yana koyarsanız konuların büyük ölçüde örtüştüğünü görürsünüz.

Düşük, orta ve yüksek seviyeli süreçler

Görüntü işlemeden bilgisayarlı görüye uzanan süreklilik üç seviyeye ayrılabilir:

Düşük seviye

Giriş: görüntü
Çıkış: görüntü

İlkel işlemler: gürültü azaltma, kontrast iyileştirme, keskinleştirme.

Orta seviye

Giriş: görüntü
Çıkış: öznitelikler (attributes)

Bölütleme, nesnelerin betimlenmesi, nesne tanıma. Çıkış kenarlar, konturlar, nesne kimlikleri olabilir.

Yüksek seviye

Giriş: öznitelikler
Çıkış: anlama (understanding)

Tanınan nesneler topluluğunu “anlamlandırma”: sahne anlama, otonom navigasyon.

Dersin kapsamı

Bu derste düşük ve orta seviye süreçlerle ilgileniyoruz; yüksek seviyede (sahne anlama) duruyoruz.

Görüntü işleme, bilgisayarlı görü, bilgisayar grafiği

Görüntü işlemeBilgisayarlı görüBilgisayar grafiği
Görüntüden gürültüyü temizlemek; kenar ve öznitelik bulmak Sahnede hareket eden nesneleri bulmak; nesneleri bir veritabanından tanımak; görüntülerden dünyanın soyut modellerini kurmak Gerçekçi şekil, renk ve dokuya sahip bir 3B model yaratıp 2B'ye izdüşürmek; modeli canlandırmak; sanal dünya yaratmak

Görüntü tabanlı modelleme (image based modelling) görüntüleme ile grafik arasındaki köprüdür.

1.3Tarihçe

1920'lerin başı · Gazetecilik

İlk uygulamalardan biri: Bartlane kablo resim aktarım sistemi. Resimler Londra ile New York arasında denizaltı kablosuyla gönderildi. Resim kodlanıyor, alıcı tarafta bir telgraf yazıcısında yeniden oluşturuluyordu.

1920'lerin ortası–sonu

Fotoğrafik tekniklere dayanan yeni çoğaltma yöntemleriyle kalite arttı, çoğaltılan görüntülerdeki ton sayısı yükseldi (slaytta “erken 15 tonlu dijital görüntü”).

1960'lar · Uzay yarışı

Bilgisayarların gelişmesi ve uzay yarışı alanı patlattı. 1964'te Ranger 7 sondasının Ay'a çarpmadan dakikalar önce çektiği görüntülerin kalitesi bilgisayarla iyileştirildi. Aynı teknikler Apollo inişleri dahil sonraki görevlerde de kullanıldı.

1970'ler · Tıp

Görüntü işleme tıbbi uygulamalara girdi. 1979'da Sir Godfrey N. Hounsfield ve Prof. Allan M. Cormack, bilgisayarlı eksenel tomografinin (CAT/CT) temeli olan tomografiyi icat ettikleri için Nobel Tıp Ödülü'nü paylaştı.

1980'ler – bugün

Kullanım her alana yayıldı: görüntü iyileştirme ve onarımı, sanatsal efektler, tıbbi görselleştirme, endüstriyel denetim, kolluk kuvvetleri, insan-bilgisayar arayüzleri.

Kitaptan ek

G&W'ye göre Bartlane sistemi Atlantik ötesine resim gönderme süresini bir haftadan üç saatin altına indirdi. İlk sistemler 5 gri seviye kodluyordu, 1929'da bu sayı 15'e çıktı.

1.4EM spektrum ve görüntüleme kaynakları

Görüntüleri sınıflandırmanın en kullanışlı yolu kaynaklarına göredir. Başlıca kaynak elektromanyetik (EM) enerjidir. Işık, EM spektrumunun insan gözünün algılayabildiği küçük bir parçasıdır: yaklaşık 400–700 nm dalga boyları arası.

Gama X-ışını Morötesi Görünür Kızılötesi Mikrodalga Radyo < 0.01 nm0.01–10 nm10–400 nm 400–700 nm0.7 µm–1 mm1 mm–1 m> 1 m enerji ve frekans artar dalga boyu artar PET, kemiktaraması Röntgen, CT,devre kartı Floresanmikroskopi Fotoğraf,mikroskop Termal, uydu(LANDSAT) Radar(bulut altı) MRI,radyo astronomi
Şekil 1.1 EM spektrumunun bantları ve her bantta tipik görüntüleme uygulamaları. Dalga boyu sınırları yaklaşıktır.
BantSlaytlardaki örnekler
Gama ışınıNükleer tıp: tam vücut kemik taraması, beyin ve akciğerde tümör gösteren PET (Pozitron Emisyon Tomografisi); astronomi: Kuğu takımyıldızındaki Cygnus Loop; nükleer reaktördeki bir vanadan yayılan gama ışıması
X-ışınıGöğüs röntgeni, aort anjiyogramı, kafa CAT kesiti, devre kartı denetimi, X-ışını bandında Cygnus Loop
MorötesiFloresan mikroskopi: normal mısır ve mısır rastığı (corn smut)
Görünür ve kızılötesiIşık mikroskobu (taksol 250×, kolesterol 40×, mikroişlemci 60×), uzaktan algılama (NASA LANDSAT tematik bantları, NOAA GOES ile Andrew kasırgası, gece ışıkları haritası), termal görüntüler (vücut ısısı)
MikrodalgaRadar görüntüleri, ör. Güneydoğu Tibet dağları. Radar bulut, sis ve karanlıkta da görüntü alabilir.
RadyoTıpta MRI (manyetik rezonans: diz, omurga, kafa), astronomide radyo teleskopları

EM olmayan görüntüleme yöntemleri

Sınav ipucu

“Hangi modalite hangi bantta çalışır?” sorusu sık gelir: PET → gama, CT/röntgen → X-ışını, MRI → radyo, radar → mikrodalga, termal kamera → kızılötesi, ultrason → EM değil (akustik).

1.5Uygulama örnekleri

İyileştirme

Kontrast ve gürültü

En yaygın kullanım: kaliteyi artırmak, gürültüyü kaldırmak. Ör. otomatik renkli fotoğraf iyileştirme, gürültülü Einstein portresinin temizlenmesi.

Onarım

Hubble teleskobu

1990'da fırlatılan Hubble'ın aynası hatalıydı ve görüntülerin çoğu bulanık geldi. Görüntü işleme teknikleriyle (ör. Satürn görüntüsü) düzeltildi.

Sıkıştırma

Saklama ve iletim

Görüntüler çok yer kaplar; JPEG gibi standartlar boyutu çok küçültür (Hafta 11–12).

Kolluk ve biyometri

Plaka, parmak izi, iris

Hız kameraları ve otomatik gişeler için plaka tanıma, FBI'ın AFIS parmak izi sistemi (ikilileştirme → inceltme → minutia çıkarımı), iris tanıma, CCTV görüntülerinin iyileştirilmesi, sabıka fotoğrafı arama.

Tıp

Doku sınırları

Köpek kalbinin MRI kesitinde uygun bir filtreyle kenarlar vurgulanarak doku tipleri arasındaki sınırlar bulunur.

CBS (GIS)

Uydu görüntüleri

Arazi sınıflandırma, meteoroloji, “Night-Time Lights of the World” verisiyle yerleşim envanteri, uzaydan deprem analizi (1992 Landers depremi yer değiştirme haritası).

Endüstri

Otomatik denetim

İnsan operatörler pahalı, yavaş ve güvenilmez olabilir. Baskılı devre kartında (PCB) tüm bileşenlerin yerinde olup olmadığı ve lehimlerin sağlamlığı normal ve X-ışını görüntüleriyle kontrol edilir.

İnsan-bilgisayar etkileşimi

Yüz ve jest tanıma

Arayüzleri daha doğal yapmak (bkz. Minority Report). Yüz bulma, el yazısı tanıma, otonom araç (Stanley) gibi görevler son derece zor olabilir.

Sanat

Özel efektler

Görüntüleri daha çekici yapmak, kompozit görüntü oluşturmak: “renkli kalem” veya “yağlı boya” simülasyonu.

Tanım: yarım ton (halftoning)

Sürekli tonlu görüntüyü, boyutu, şekli veya aralığı değişen noktalarla taklit etme tekniği. Gazete baskısı bu şekilde yapılır; yakından bakınca gri tonların aslında siyah noktalardan oluştuğu görülür.

Slaytlardaki diğer örnekler: güvenlik taramasında sahte renklendirme (pseudocolor enhancement), hava fotoğrafından yerleşim alanı çıkarma, yüz bulma.

1.6Sistem bileşenleri ve temel aşamalar

Bir görüntü işleme sisteminin bileşenleri

Genel amaçlı bir sistem (G&W Şekil 1.24): görüntü sensörleri (problem alanından veri alır), özel görüntü işleme donanımı (ör. hızlı ALU, sayısallaştırıcı), bilgisayar, görüntü işleme yazılımı, toplu depolama, görüntü ekranları, basılı kopya cihazları ve ağ.

Görüntü işlemenin temel aşamaları

Renkli görüntü işlemeBöl. 6 · Hafta 2, 7–8 Wavelet, çok çözün.Böl. 7 · Hafta 12 SıkıştırmaBöl. 8 · Hafta 11–12 Morfolojik işlemeBöl. 9 · Hafta 10 Görüntü onarımıBöl. 5 · Hafta 6–8 Görüntü iyileştirmeBöl. 3–4 · Hafta 3–5 Görüntü elde etmeBöl. 2 · Hafta 1–2 BölütlemeBöl. 10 · Hafta 9 Gösterim, betimlemeBöl. 11 Nesne tanımaBöl. 12 Bilgi tabanı (knowledge base) problem alanına dair önceden bilinenler; tüm aşamaları yönlendirir Problem alanı
Şekil 1.2 G&W Şekil 1.23'ün sadeleştirilmiş hali. Sol ve üst kutuların çıktıları genellikle görüntü, sağ sütunun çıktıları genellikle görüntü öznitelikleridir. Oklar tipik sırayı gösterir; her problem tüm aşamaları gerektirmez. Kalın çerçeveli kutular ilk üç haftanın konuları.
AşamaNe yapar?
Elde etme acquisitionGörüntüyü dijital biçimde almak; ölçekleme gibi ön işlemeyi de içerebilir.
İyileştirme enhancementAyrıntıyı ortaya çıkarmak veya ilgilenilen özellikleri vurgulamak. Öznel: “iyi” sonuç izleyiciye göre değişir.
Onarım restorationGörüntünün görünümünü düzeltmek. Nesnel: bozulmanın matematiksel/olasılıksal modeline dayanır.
Morfolojik işlemeŞekil temsili için yararlı görüntü bileşenlerini çıkaran araçlar.
Bölütleme segmentationGörüntüyü bileşen parçalarına/nesnelerine ayırmak. En zor aşamalardan biri.
Gösterim ve betimlemeBölütleme çıktısını (sınır veya bölge) bilgisayarın işleyebileceği öznitelik vektörlerine dönüştürmek.
Nesne tanıma recognitionBetimleyicilerine göre bir nesneye etiket atamak (ör. “araç”).
SıkıştırmaSaklama alanını veya iletim bant genişliğini azaltmak.
Renkli görüntü işlemeRenk modelleri ve renkli görüntülerde temel işlemler.
Sınav ipucu

İyileştirme ile onarımın farkı klasik bir sorudur. İyileştirme öznel bir süreçtir; “daha iyi görünen” sonucu hedefler. Onarım ise nesneldir; bozulmanın (bulanıklık, gürültü) bir modelini kurar ve onu tersine çevirmeye çalışır.

1.7İnsan görme sistemi ve görsel psikofizik

Kitaptan ek

Bu konu syllabus'ta 1. haftanın başlıkları arasında. Slaytlarda ayrı bir bölüm olmadığı için G&W Bölüm 2.1'den özetlendi. Göz hücreleriyle ilgili bilgiler renk slaytlarında (Hafta 2) da geçiyor.

Görüntü işlemede son karar çoğu zaman insan gözüne kalır. Bu yüzden gözün nasıl gördüğünü bilmek; iyileştirme, sıkıştırma ve renk modellerindeki tasarım tercihlerini anlamak için gereklidir.

Gözün yapısı ve algılayıcılar

Göz yaklaşık 20 mm çapında bir küredir. Işık korneadan girer, iris (göz bebeği çapı ~2–8 mm) gelen ışık miktarını ayarlar, mercek (lens) ışığı gözün arka iç yüzeyindeki retina üzerine odaklar. Retinada iki tür ışık algılayıcısı vardır:

Koniler (cones)Çubuklar (rods)
Sayı6–7 milyon75–150 milyon
YerleşimRetinanın merkezindeki foveada yoğunRetina yüzeyine yayılmış
GörevRenk algısı ve ince ayrıntıGenel görüntü, renk yok
Sinir bağlantısıHer biri kendi sinir ucuna bağlı → yüksek çözünürlükBirkaç çubuk tek sinir ucuna bağlı → düşük ayrıntı
Işık koşuluParlak ışık: fotopik görmeDüşük ışık: skotopik görme

Optik sinirin gözden çıktığı noktada algılayıcı yoktur: kör nokta (blind spot). Üç tür koni vardır: kırmızıya (L), yeşile (M) ve maviye (S) duyarlı. Mavi koniler diğerlerinden çok daha azdır. Beyin bu üç sinyali bir parlaklık kanalına ve iki renk kanalına dönüştürür. Bu, Hafta 2'deki YUV gibi renk modellerinin de temelidir.

Gözde görüntü oluşumu

Fotoğraf makinesinde mercek sabittir, odaklama mercek ile film arasındaki mesafe değiştirilerek yapılır. Gözde ise mercek ile retina arasındaki mesafe sabittir (~17 mm). Odaklama, merceğin şekli (kalınlığı) değiştirilerek yapılır; odak uzaklığı yaklaşık 14–17 mm arasında değişir.

15 m 100 m 17 mm h mercek retina
Şekil 1.3 Benzer üçgenler: nesne retinada ters ve küçültülmüş olarak oluşur (çizim ölçekli değil).
Çözümlü örnek (G&W Örnek 2.1)

100 m uzaktaki 15 m yüksekliğindeki bir ağaca bakıyoruz. Retinadaki görüntünün yüksekliği $h$:

$$\frac{15}{100} = \frac{h}{17} \quad\Longrightarrow\quad h \approx 2.55\ \text{mm}$$

Parlaklık uyumu ve ayırt etme

Tanım: Weber oranı

$I$ arka plan aydınlığı, $\Delta I_c$ ise zamanın %50'sinde fark edilebilen en küçük aydınlık artışı olsun. Weber oranı $\Delta I_c / I$'dir. Oran küçükse küçük yüzde değişimler bile fark edilir, yani ayırt etme iyidir. Düşük aydınlıkta (çubuklar) oran büyüktür, ayırt etme kötüdür; yüksek aydınlıkta (koniler) oran küçülür.

Pratikte insanlar tek bir uyum noktasında yalnızca bir-iki düzine farklı yoğunluk seviyesini ayırt edebilir. Ancak göz görüntü üzerinde gezindikçe uyum seviyesi değiştiği için bir görüntüde çok daha fazla seviye “görülür”.

Algılanan parlaklık yoğunluğun basit bir fonksiyonu değildir

Mach bantları: farklı griler arasındaki sınırlarda görme sistemi kenarı “abartır”. Her şeridin koyu tarafla komşu kenarı daha açık, açık tarafla komşu kenarı daha koyu görünür. Oysa her şerit düzgündür.

kesikli: gerçek yoğunluk (basamak) sürekli: algılanan parlaklık (kenarlarda aşma/alt-aşma)
Şekil 1.4 Mach bantları. Şeritlere yakından bakın: her şeridin sol kenarı daha açık, sağ kenarı daha koyu görünür. Alttaki eğri bu algıyı nitel olarak gösterir.

Eşzamanlı kontrast (simultaneous contrast): bir bölgenin algılanan parlaklığı yalnızca kendi yoğunluğuna değil, arka planına da bağlıdır. Aşağıdaki üç küçük kare tam olarak aynı gri değerdedir.

Etkileşimli

Eşzamanlı kontrast

 

Koyu arka plandaki kare daha açık, açık arka plandaki kare daha koyu görünür. Kutuyu işaretleyince arka planlar aynı olur ve karelerin gerçekte eş olduğu görülür.

Optik illüzyonlar da (ör. var olmayan bir kenarın görülmesi, eşit uzunluktaki çizgilerin farklı algılanması) görme sisteminin “boşlukları doldurduğunu” gösterir.

Neden önemli?
  • Az gri seviyeyle nicemlenmiş görüntülerde göz, yapay konturları kolayca fark eder (Hafta 2, yanlış konturlama).
  • Göz parlaklığa renkten daha duyarlıdır. TV ve JPEG bu yüzden renk bilgisini daha düşük çözünürlükte saklar (Hafta 2, YUV).
  • İyileştirme öznel bir süreçtir; sonucu değerlendiren insan gözüdür (Hafta 3).

1.8Dijital görüntünün gösterimi

Gri tonlu bir görüntü, her elemanı o noktanın parlaklığını temsil eden tamsayılardan oluşan dikdörtgen bir dizidir.

Tanım
  • $M$ satır, $N$ sütun: $M \times N$ dizi.
  • $L$ ayrık yoğunluk seviyesi, genellikle 2'nin kuvveti: $L = 2^k$. Değerler $[0,\,L-1]$ aralığındaki tamsayılardır.
  • 256 olası değeri olan görüntüye 8 bitlik görüntü denir ($k=8$, en yüksek değer 255).

Depolama gereksinimi

$$b = M \times N \times k \ \text{bit} \qquad\qquad (M = N \text{ ise } b = N^2 k)$$
Çözümlü örnek
  • $1024 \times 1024$, $k = 8$: $b = 1024^2 \cdot 8 = 8\,388\,608$ bit $= 1\,048\,576$ bayt $=$ 1 MB.
  • Aynı boyutta 24 bit RGB görüntü (renk başına 8 bit): 3 MB. Slayttaki “Storage requirements, color??” sorusunun cevabı budur.
  • $2048 \times 1536$ RGB: $2048 \cdot 1536 \cdot 3 = 9\,437\,184$ bayt ≈ 9 MB.

Dinamik aralık ve kontrast

Koordinat kuralı

sütun csatır r0 (r=1, c=2)
Orijin sol üst köşededir. Satır indeksi aşağı, sütun indeksi sağa doğru artar. Bu sayede görüntü doğrudan bir matris gibi yazılabilir: $f(\text{satır}, \text{sütun})$. MATLAB'de indeksler 1'den başlar: I(1,1) sol üst piksel.
Dikkat: farklı kurallar

G&W 3. baskı $x$'i satır (aşağı), $y$'yi sütun (sağa) olarak alır. Bazı slaytlarda (ör. 3-1, s.10) ise $x$ yatay, $y$ dikey eksendir. Soruda $(x,y)$ verildiğinde hangi kuralın kullanıldığına dikkat edin.

Görüntü türleri

Yoğunluk (gri tonlu): her piksel bir gri seviye
İkili: 1 bit, 1 = beyaz, 0 = siyah
İndeksli: değer, renk tablosunda bir satırı gösterir
İndeksRGB
Renk tablosu (colormap)

Aydınlatma–yansıma modeli

Bir sahneden gelen görüntü, iki bileşenin çarpımı olarak modellenebilir:

$$f(x,y) = i(x,y)\, r(x,y), \qquad 0 \lt i(x,y) \lt \infty, \qquad 0 \lt r(x,y) \lt 1$$

$i(x,y)$ aydınlatma (illumination): kaynaktan sahneye düşen ışık. Işık kaynağı belirler. $r(x,y)$ yansıtma (reflectance): nesnenin yansıttığı oran. Nesne belirler; 0 tam soğurma, 1 tam yansıtmadır. Dijital görüntülerde en düşük gri seviye genellikle 0'dır, en yüksek değer ise nicemleme seviyesi sayısına bağlıdır (en yaygını 256 seviye, en yüksek 255).

Kitaptan ek: tipik değerler

Aydınlatma: açık güneşli gün ~90 000 lm/m², bulutlu gün ~10 000 lm/m², dolunay gecesi ~0.1 lm/m², ofis ~1 000 lm/m². Yansıtma: siyah kadife 0.01, paslanmaz çelik 0.65, beyaz duvar 0.80, gümüş kaplama 0.90, kar 0.93.

1.9Görüntü dosya formatları

Çoğu format basit bir modele uyar: önce bir başlık (header), ardından satır satır, aralarında boşluk olmadan piksel verisi. Başlık en azından genişlik ve yüksekliği içerir. Çoğu başlık, dosya türünü tanımlayan kısa bir bayt dizisiyle, yani bir imza veya “sihirli sayı” (magic number) ile başlar.

FormatSıkıştırmaRenk / bit derinliğiTipik kullanım
GIF Graphics Interchange FormatKayıpsız (LZW)Paletli, en fazla 256 renkGrafik, logo, basit animasyon
PNG Portable Network GraphicsKayıpsızGri / RGB, kanal başına 16 bite kadar, alfa kanalıWeb grafikleri, kayıpsız saklama
JPEG Joint Photographic Experts GroupKayıplı (DCT + nicemleme)Genellikle kanal başına 8 bitFotoğraflar
TIFF Tagged Image File FormatSeçmeli (yok, LZW, ZIP, JPEG…)Esnek, yüksek bit derinliği, çok sayfaBaskı, tarama, tıbbi/bilimsel
PGM / PBM / PPM NetpbmYokGri (8 bit) / ikili (1 bit) / renkli (24 bit)Basit, öğretici, araştırma
FITS Flexible Image Transport SystemGenellikle yokKayan noktalı veri, zengin başlıkAstronomi
BMPGenellikle yok1–32 bitWindows

PGM formatı, ASCII ve ham kayıt

Gri tonlu görüntüler (8 bit/piksel) için popüler bir formattır. Yakın akrabaları ikili görüntüler için PBM (1 bit/piksel) ve renkli görüntüler için PPM'dir (24 bit/piksel). Her biri ASCII veya ham ikili (raw) olarak saklanabilir. Sihirli sayılar: P1/P2/P3 (ASCII PBM/PGM/PPM), P4/P5/P6 (ham).

P2
# 4x4, en büyük değer 255
4 4
255
10 10 16 28
 9  6 26 37
15 25 13 22
32 15 87 39

ASCII'nin avantajı

Piksel değerleri sıradan bir metin düzenleyicide kolayca incelenip değiştirilebilir. Ham dosyalar yazdırılamayan karakterler içerdiği için bu mümkün değildir.

Ham kaydın avantajı

Çok daha kompakttır: her piksel tek bir karakterle (bayt) kodlanır. ASCII'de ise “255 ” için 4 karakter gerekir.

Neden sıkıştırma?

$2048 \times 1536$ boyutunda, her renk için 1 bayt kullanan bir görüntü ~9 MB tutar. Formatların çoğu bu boyutu küçültmeyi hedefler. Slayttaki örnekte 225×300'lük bir görüntü GIF olarak 40 KB, JPEG olarak kaliteye göre 41 ile 6 KB arasında tutuyor.

1.10MATLAB ile dijital görüntüler

Dijital bir görüntü $I$, düzgün aralıklı ayrık noktalardan oluşan bir 2B ızgaradan $\{p = (r,c)\}$ bir değer kümesine eşlemedir: ya pozitif tamsayılar $\{I(p)\}$ ya da vektörler, ör. $\{[R\ G\ B]^T(p)\}$.

Görüntü sınıfları: uint8 ve double

SınıfDeğer aralığıÖrnek: T(231,326,:)
uint80 … 255 tamsayı[227 222 96]
double0 … 1 gerçel[0.89 0.87 0.38]
Sık yapılan hata

double(I) değerleri ölçeklemez, 0–255 olarak bırakır. imshow ise double görüntüyü [0,1] aralığında bekler, bu yüzden görüntü bembeyaz görünür. Doğrusu im2double(I) kullanmak (0–1'e ölçekler) ya da imshow(I, []) ile göstermektir. Ters yön için im2uint8 kullanılır.

Renk haritalı ve gerçek renkli görüntüler

Renk haritalı görüntüde pikselin değeri bir rengin kendisi değil, renk haritasındaki bir satırın indeksidir. Renk haritası $256 \times 3$'lük bir double matristir; her satır bir rengin R, G, B yoğunluklarını 0–1 arasında listeler.

[M, CMAP] = imread('button_mapped.bmp', 'bmp');   % M: 512x512 uint8 indeks, CMAP: 256x3 double
M(231, 326)                % → 214
255 * CMAP(214 + 1, :)     % → [226 231 65]  (+1 çünkü MATLAB 1'den indeksler)

% Renk haritalı → gerçek renk
T = uint8(reshape(CMAP(M + 1, :), [size(M) 3]) * 255);
% veya doğrudan:  T = ind2rgb(M, CMAP);   (double, 0–1)
Satır satır ne oluyor?
  1. M + 1: uint8 indeksler 0'dan başlar, MATLAB satırları 1'den. Her indekse 1 eklenir.
  2. CMAP(M+1, :): M sütunları art arda eklenerek 262 144 × 1'lik bir listeye açılır. Her eleman haritadan bir satır seçer ve sonuç 262 144 × 3'lük bir yoğunluk matrisi olur.
  3. reshape(…, [512 512 3]): tekrar 512×512×3'lük bir görüntüye dönüştürülür.
  4. *255 ve uint8: 0–255'e ölçeklenip tamsayıya çevrilir.

Renk haritası oluşturmak ve bantları göstermek

ramp = (0:255)' / 255;                      % 256x1 sütun (' = transpoz)
kcm = [ramp ramp ramp];                     % gri:     R(k) = G(k) = B(k)
rcm = [ramp zeros(256,2)];                  % kırmızı: G = B = 0
gcm = [zeros(256,1) ramp zeros(256,1)];     % yeşil:   R = B = 0
bcm = [zeros(256,2) ramp];                  % mavi:    R = G = 0

I  = imread('blue_grapes_sm.jpg');
Rd = I(:,:,1);  Gn = I(:,:,2);  Bl = I(:,:,3);  % R, G, B bantları
figure; image(Rd); colormap(kcm);           % kırmızı bandı gri tonla göster
figure; image(Rd); colormap(rcm);           % ... veya kırmızı tonla
Etkileşimli

Renk haritası ve indeksleme ile karıştırma

Renk haritası
Satır/sütun permütasyonu
Aynı indeks matrisi, farklı renk haritası.
Seçili renk haritası: indeks 0 (solda) → 255 (sağda).
I = imread(...); % 256x256

Kaydetme ve indeksleme

imwrite(I, 'goruntu.bmp', 'bmp');                      % gerçek renk, .bmp
imwrite(I, 'goruntu.jpg', 'jpg');                      % JPEG, varsayılan kalite = 75
imwrite(I, 'goruntu.jpg', 'jpg', 'Quality', 100);      % JPEG, kalite = 100
imwrite(I, cmap, 'goruntu.gif', 'gif');                % renk haritalı, .gif

% İndekslemeyle görüntüyü karıştırmak ve geri almak
I = imread('foto.jpg');  size(I)          % → 576 768 3
r = randperm(576);  c = randperm(768);  % rastgele satır/sütun permütasyonları
J = I(r, c, :);                         % karıştırılmış görüntü
K(r, c, :) = J;                         % aynı permütasyonlarla geri yerleştirme
image(K); truesize; title('Yay!!!')

Temel komutlar

Komutİşlev
imread, imwrite, imfinfoDosyadan okuma, dosyaya yazma, dosya bilgisi
imshow, image, imagesc, truesizeGösterme; imagesc değerleri renk haritası aralığına ölçekler
size, classBoyutlar (M N 3), veri sınıfı (uint8, double…)
im2double, im2uint8Sınıf dönüşümü (ölçeklemeyle)
rgb2gray, ind2rgb, rgb2indTür dönüşümleri
colormap, gray(256), jet(256)Renk haritası seçme/oluşturma
impixelinfo, imtoolPiksel değerlerini fareyle inceleme

1.11Haftanın özeti ve kendini test et

Dijital görüntü

$f(x,y)$; $x$, $y$ ve $f$ sonlu ve ayrık. Piksel = konum + değer.

Depolama

$b = M N k$ bit, $L = 2^k$ seviye, değerler $[0, L-1]$.

Seviyeler

Düşük: görüntü → görüntü. Orta: görüntü → öznitelik. Yüksek: öznitelik → anlama.

Gözün özellikleri

Koniler: renk, fovea, fotopik. Çubuklar: düşük ışık, skotopik. Öznel parlaklık ~ log(yoğunluk).

Model

$f = i \cdot r$, $0 \lt r \lt 1$.

MATLAB

uint8 0–255, double 0–1. İndeksli görüntüde CMAP(M+1,:).

1024×768 boyutlu 8 bitlik gri tonlu bir görüntü kaç bayt tutar? Aynı boyutta 24 bitlik RGB görüntü?

Gri: $1024 \cdot 768 \cdot 8 / 8 = 786\,432$ bayt = 768 KB. RGB: üç katı, $2\,359\,296$ bayt ≈ 2.25 MB.

Girişi görüntü, çıkışı öznitelik olan süreç hangi seviyededir? Bir örnek verin.

Orta seviye. Örnekler: bölütleme, nesne tanıma, kenar/kontur çıkarma.

İyileştirme ve onarım arasındaki temel fark nedir?

İyileştirme özneldir ve “daha iyi görünen” sonucu hedefler. Onarım nesneldir; bozulmanın matematiksel veya olasılıksal modeline dayanarak orijinali kestirmeye çalışır.

Gece loş ışıkta renkleri neden ayırt edemeyiz?

Düşük ışıkta (skotopik görme) yalnızca çubuk hücreler çalışır. Çubuklar renge duyarlı değildir, renk algısı konilerden gelir.

20 m uzaktaki 2 m boyundaki bir kişi retinada kaç mm'lik görüntü oluşturur? (mercek–retina 17 mm)

$2/20 = h/17 \Rightarrow h = 1.7$ mm.

MATLAB'de J = double(imread('a.png')); imshow(J) neden beyaz bir görüntü verir?

double() değerleri 0–255'te bırakır. imshow double görüntülerde 1'i beyaz kabul ettiği için 1'den büyük her değer beyaz görünür. Çözüm: im2double veya imshow(J, []).

İndeksli bir uint8 görüntüyü gerçek renge çevirirken neden CMAP(M+1,:) yazılır?

uint8 indeksler 0–255 aralığındadır, MATLAB'de matris satırları ise 1'den başlar. 0 indeksi haritanın 1. satırına karşılık gelir.

Her modaliteyi EM bandıyla eşleştirin: PET, MRI, CT, hava radarı, termal kamera.

PET → gama, MRI → radyo, CT → X-ışını, radar → mikrodalga, termal kamera → kızılötesi.

PGM dosyasını ASCII yerine ham (raw) saklamanın avantajı nedir?

Ham kayıt çok daha kompakttır: her piksel tek bir baytla kodlanır. ASCII ise basamakları ve ayraçları karakter olarak yazar. ASCII'nin avantajı metin düzenleyicide okunabilir olmasıdır.