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.
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.
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.
- Piksel değerleri gri seviyeyi, rengi, yüksekliği (ör. arazi haritası), opaklığı vb. temsil edebilir.
- Sayısallaştırma her zaman bir yaklaşıklıktır: dijital görüntü, gerçek sahnenin yaklaşık bir temsilidir.
- Dijital görüntüler pek çok kaynaktan gelebilir: kameralar, X-ışını, ultrason, radar, elektron mikroskobu, bilgisayar grafiği…
| Nokta başına örnek | Tür | Not |
|---|---|---|
| 1 | Siyah-beyaz / gri tonlu (B&W, grayscale) | Dersin büyük bölümünde bunlarla çalışacağız |
| 3 | Kırmızı, Yeşil, Mavi (RGB) | Renkli görüntü = üç gri tonlu görüntü |
| 4 | RGB + “Alfa” (opacity) | Alfa kanalı saydamlığı tutar (ör. PNG) |
Görüntü aslında bir sayı matrisidir
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:
- İnsanın yorumlaması için resimsel bilginin iyileştirilmesi (daha net, daha kontrastlı, gürültüsüz görüntü).
- 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.
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şleme | Bilgisayarlı 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
İ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.
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ü”).
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ı.
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ı.
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.
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ı.
| Bant | Slaytlardaki ö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ötesi | Floresan mikroskopi: normal mısır ve mısır rastığı (corn smut) |
| Görünür ve kızılötesi | Işı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ı) |
| Mikrodalga | Radar görüntüleri, ör. Güneydoğu Tibet dağları. Radar bulut, sis ve karanlıkta da görüntü alabilir. |
| Radyo | Tıpta MRI (manyetik rezonans: diz, omurga, kafa), astronomide radyo teleskopları |
EM olmayan görüntüleme yöntemleri
- Akustik görüntüleme: ses dalgalarını görüntü sinyaline çevirir (ultrason, sismik araştırma).
- Elektron mikroskobu: numuneye ışık yerine bir elektron demeti gönderir; çok daha yüksek büyütme.
- Sentetik görüntüler: bilgisayar grafiğiyle üretilen, gerçek dünyada var olmayan görüntüler.
“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
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.
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.
Saklama ve iletim
Görüntüler çok yer kaplar; JPEG gibi standartlar boyutu çok küçültür (Hafta 11–12).
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.
Doku sınırları
Köpek kalbinin MRI kesitinde uygun bir filtreyle kenarlar vurgulanarak doku tipleri arasındaki sınırlar bulunur.
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ı).
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.
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.
Özel efektler
Görüntüleri daha çekici yapmak, kompozit görüntü oluşturmak: “renkli kalem” veya “yağlı boya” simülasyonu.
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ı
| Aşama | Ne yapar? |
|---|---|
| Elde etme acquisition | Görüntüyü dijital biçimde almak; ölçekleme gibi ön işlemeyi de içerebilir. |
| İyileştirme enhancement | Ayrıntıyı ortaya çıkarmak veya ilgilenilen özellikleri vurgulamak. Öznel: “iyi” sonuç izleyiciye göre değişir. |
| Onarım restoration | Gö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 segmentation | Görüntüyü bileşen parçalarına/nesnelerine ayırmak. En zor aşamalardan biri. |
| Gösterim ve betimleme | Bö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 recognition | Betimleyicilerine göre bir nesneye etiket atamak (ör. “araç”). |
| Sıkıştırma | Saklama alanını veya iletim bant genişliğini azaltmak. |
| Renkli görüntü işleme | Renk modelleri ve renkli görüntülerde temel işlemler. |
İ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
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 milyon | 75–150 milyon |
| Yerleşim | Retinanın merkezindeki foveada yoğun | Retina yüzeyine yayılmış |
| Görev | Renk 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ük | Birkaç çubuk tek sinir ucuna bağlı → düşük ayrıntı |
| Işık koşulu | Parlak ışık: fotopik görme | Düşü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.
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
- Görme sisteminin uyum sağlayabildiği ışık şiddeti aralığı muazzamdır: skotopik eşikten kamaşma sınırına kadar ~$10^{10}$ mertebesi.
- Öznel parlaklık (algılanan) ışık şiddetinin logaritmik bir fonksiyonudur. Log dönüşümünün (Hafta 3) algıyla uyumlu olmasının bir nedeni budur.
- Göz bu aralığın tamamında aynı anda çalışamaz. Hassasiyetini o anki ortama göre kaydırır: parlaklık uyumu (brightness adaptation). Belirli bir uyum seviyesinde ayırt edilebilen aralık çok daha dardır.
$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.
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.
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.
- 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.
- $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
- $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
- Dinamik aralık: en yüksek yoğunluğun en düşük yoğunluğa oranı. Düşükse görüntü donuk, soluk, “yıkanmış” gri bir görünüme sahip olur.
- Kontrast: en yüksek ve en düşük yoğunluk arasındaki fark. Yüksek dinamik aralıklı görüntüler genellikle yüksek kontrastlıdır.
Koordinat kuralı
I(1,1) sol üst piksel.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
| İndeks | R | G | B |
|---|
- RGB (gerçek renk) görüntü: her piksel kırmızı, yeşil ve mavi bileşenlerden oluşan bir vektördür, ör. [R G B] = [33 11 14]. Renkli görüntü, matematiksel olarak üç gri tonlu görüntü olarak düşünülebilir.
- İndeksli görüntü (GIF'te kullanılır): renk sayısı sınırlıdır ama dosya küçüktür. Piksel başına bir bayt ile 256 renkten biri seçilir.
- Boyutluluk: görüntüler ve videolar çok boyutlu sinyallerdir. 3B görüntüde her elemana voksel (volume element) denir. Video, 2B görüntülerin zamandaki dizisidir.
Aydınlatma–yansıma modeli
Bir sahneden gelen görüntü, iki bileşenin çarpımı olarak modellenebilir:
$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).
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.
| Format | Sıkıştırma | Renk / bit derinliği | Tipik kullanım |
|---|---|---|---|
| GIF Graphics Interchange Format | Kayıpsız (LZW) | Paletli, en fazla 256 renk | Grafik, logo, basit animasyon |
| PNG Portable Network Graphics | Kayıpsız | Gri / RGB, kanal başına 16 bite kadar, alfa kanalı | Web grafikleri, kayıpsız saklama |
| JPEG Joint Photographic Experts Group | Kayıplı (DCT + nicemleme) | Genellikle kanal başına 8 bit | Fotoğraflar |
| TIFF Tagged Image File Format | Seçmeli (yok, LZW, ZIP, JPEG…) | Esnek, yüksek bit derinliği, çok sayfa | Baskı, tarama, tıbbi/bilimsel |
| PGM / PBM / PPM Netpbm | Yok | Gri (8 bit) / ikili (1 bit) / renkli (24 bit) | Basit, öğretici, araştırma |
| FITS Flexible Image Transport System | Genellikle yok | Kayan noktalı veri, zengin başlık | Astronomi |
| BMP | Genellikle yok | 1–32 bit | Windows |
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.
- GIF bir renk paleti kullanır: her piksele seçilmiş 256 renkten biri atanır, boyut 24 bitlik görüntünün ~üçte birine iner.
- JPEG görüntüyü ayrık kosinüs dönüşümüyle (DCT) frekans bileşenlerine ayırır ve gözün az fark ettiği frekansları nicemleyerek atar. Ayrıntılar Hafta 11–12'de.
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)\}$.
- $p = (r,c)$: piksel konumu, satır $r$ ve sütun $c$ ile indekslenir. $I(p) = I(r,c)$: o konumdaki piksel değeri. $(p, I(p))$ çiftine piksel denir.
- $I(p)$ tek bir sayıysa görüntü tek renklidir (monochrome). Bir vektörse görüntü çok bantlıdır (ör. renkli).
Görüntü sınıfları: uint8 ve double
| Sınıf | Değer aralığı | Örnek: T(231,326,:) |
|---|---|---|
uint8 | 0 … 255 tamsayı | [227 222 96] |
double | 0 … 1 gerçel | [0.89 0.87 0.38] |
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)
M + 1: uint8 indeksler 0'dan başlar, MATLAB satırları 1'den. Her indekse 1 eklenir.CMAP(M+1, :):Msü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.reshape(…, [512 512 3]): tekrar 512×512×3'lük bir görüntüye dönüştürülür.*255veuint8: 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
Renk haritası ve indeksleme ile karıştırma
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, imfinfo | Dosyadan okuma, dosyaya yazma, dosya bilgisi |
imshow, image, imagesc, truesize | Gösterme; imagesc değerleri renk haritası aralığına ölçekler |
size, class | Boyutlar (M N 3), veri sınıfı (uint8, double…) |
im2double, im2uint8 | Sınıf dönüşümü (ölçeklemeyle) |
rgb2gray, ind2rgb, rgb2ind | Tür dönüşümleri |
colormap, gray(256), jet(256) | Renk haritası seçme/oluşturma |
impixelinfo, imtool | Piksel 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.