Görüntü işleme için temel algoritmalar. Görüntü ön işleme algoritmaları Görüntü ön işleme

Dijital gürültü, piksel boyutuna yakın ve orijinal görüntüden parlaklık veya renk olarak farklı olan rastgele yerleştirilmiş alanlarda oluşan bir görüntü kusurudur. Gürültü azaltma, video dizilerinin ve görüntülerin iletiminde, işlenmesinde ve sıkıştırılmasında önemli bir rol oynar.

Video gürültüsü birkaç nedenden dolayı ortaya çıkabilir:

1. Kusurlu video yakalama ekipmanı.

2. Kötü çekim koşulları - örneğin, gece fotoğrafı / video çekimi, sert hava koşullarında çekim.

3. Analog kanallar üzerinden iletim sırasında parazit - elektromanyetik alan kaynaklarından gelen parazit, iletim hattının aktif bileşenlerinin (amplifikatörlerin) içsel gürültüsü. Bir örnek, bir televizyon sinyali olabilir.

4. Bir analog bileşik sinyalden, vb. parlaklık ve renk farkı sinyalleri ayıklanırken filtrelemedeki yanlışlıklar.

Bir görüntüdeki parazit miktarı, iyi ışıkta çekilen bir dijital fotoğraftaki neredeyse algılanamayan bir noktadan, gürültünün yalnızca zahmetli görüntü işleme yoluyla elde edilebilecek yararlı bilgilerin çoğunu gizlediği astronomik görüntülere kadar değişebilir.

Görüntüdeki gürültünün rastgele dağılımının doğasına bağlı olarak farklı gürültü türleri vardır. Pratikte, aşağıdaki türler en yaygın olanlardır:

Beyaz Gauss Gürültüsü

En yaygın gürültülerden biri, bir görüntüdeki her piksele normal dağılımlı ve sıfır ortalamalı değerlerin eklenmesiyle karakterize edilen ek Gauss gürültüsüdür. "Katkı maddesi" terimi, bu tür gürültünün faydalı sinyale eklenmesi anlamına gelir. Sinyal alımı zayıf olduğunda oluşur.

Dijital gürültü

Dijital gürültünün nedeni, çoğunlukla, çekim için kullanılan ekipmanın özellikleriyle - genellikle matrisin yetersiz ışık hassasiyetiyle - ilişkilidir. Bu tür bir gürültü, görüntüdeki bazı piksellerin sabit veya rastgele bir değerdeki değerlerle değiştirilmesiyle karakterize edilir. Noktaların parlaklığı yaklaşık olarak eşitse, dijital gürültüye "impuls" da denir. Noktaların yoğunluğu siyahtan beyaza kadar değişebiliyorsa bu gürültüye tuz biber gürültüsü denir.

Tipik olarak, bu tür parazit bir görüntüdeki yalnızca az sayıda pikseli etkiler.

birleşik gürültü

Eşit hacimdeki görüntünün Gauss gürültüsü ve rastgele darbelerle gürültülü olduğu durumlar çok daha az yaygındır. Bu kümeye birleşik gürültü denir.

Görüntü tarama kusurları

Ayrıca görüntü üzerinde çatlaklar, çizikler, çürükler gibi yabancı etkiler görünebilir. Bu eserler homojen bir yapıya sahip değildir ve şekil ve konumlarının belirlenmesi büyük ölçüde matematiksel analizin ötesindedir. Bu tür kusurlar yalnızca manuel görüntü işleme ile ele alınabilir, bu nedenle bu çalışmada dikkate alınmamıştır.

Gürültü Giderme Algoritmaları

Görüntülerdeki gürültüyü gidermek için çok sayıda algoritma vardır ve bunlar yalnızca özel işleme programları tarafından değil, aynı zamanda bazı fotoğraf ve video kameralar tarafından da kullanılabilir. Buna rağmen, hala evrensel bir filtreleme algoritması yoktur, çünkü görüntü işleme sırasında, istenmeyen etkilerin ortadan kaldırılması derecesi ile gürültüye benzer özelliklere sahip küçük detayların korunması arasında seçim yapmak her zaman gereklidir. Ek olarak, bir tür gürültüyle kolayca başa çıkan bir algoritma, görüntüyü yalnızca başka bir gürültü türüyle bozabilir.

En iyi bilinen görüntü gürültüsü bastırma algoritmalarından birkaçını ele alalım.

Doğrusal piksel ortalaması

Gürültü giderme için en basit fikir, uzamsal bir komşuluktaki piksel değerlerinin ortalamasını almaktır. Gürültü, pikselden piksele bağımsız olarak değiştiğinden, bitişik piksellerin gürültüsü, eklendiğinde birbirini iptal edecektir. Sırasıyla görüntünün her pikselinin üzerine bindirilen dikdörtgen bir pencere belirtilir. Merkezi pikselin değeri, pencere alanına düşen tüm komşu piksellerin analizine dayalı olarak hesaplanır. Buna göre, alınan pencere ne kadar büyük olursa, sonuçta o kadar fazla ortalama değer elde edilecek ve bu da güçlü bir bulanıklık etkisine yol açacaktır.

En basit versiyonda, komşu piksellerin analizi onların aritmetik ortalamasını bulmaktır. Söz konusu alanla aynı alana ait olmayan piksellerin etkisini azaltmak için (örneğin, açık renkli bir arka plan üzerinde koyu bir anahat), belirli bir sayısal eşik girebilir ve yalnızca farkı olan komşuları hesaplarken dikkate alabilirsiniz. merkezi pikselden bu eşiği geçmez. Eşik değeri ne kadar yüksek olursa, ortalama alma o kadar güçlü olur. Göz önünde bulundurulan seçenek, göz önünde bulundurulan alanın merkezine olan uzaklıklarına bağlı olarak her bir komşu piksel için ağırlık katsayıları getirilerek karmaşık hale getirilebilir.

Bu yöntem, video akışının bitişik kareleri üzerinden her pikselin ortalaması alınarak zaman alanında da uygulanabilir (her pikselin, bitişik karelerde aynı konumda bulunan pikseller üzerinden ortalaması alınacaktır).

Bu algoritma çok basittir, ancak iyi bir sonuç vermez, aynı zamanda görüntü detaylarında güçlü bir bulanıklığa yol açar.

Gauss filtresi

Önceki yönteme benzer bir çalışma prensibine sahiptir ve ayrıca yumuşatma filtrelerinin sayısına aittir. Bununla birlikte, doğrusal bir ortalama filtre kullanarak gürültü azaltmanın önemli bir dezavantajı vardır: işlenen pikselin tüm komşuları, mesafelerine bakılmaksızın sonuç üzerinde aynı etkiye sahiptir. Gauss filtresi ayrıca belirli bir alandaki merkezi pikselin ve komşularının ortalamasını alır, ancak bu, Gauss işlevi tarafından belirlenen belirli bir yasaya göre gerçekleşir.

Burada y parametresi bulanıklık miktarını ayarlar ve A parametresi normalleştirme sağlar. Sonuç olarak, dikkate alınan alanın merkezi pikseli, Gauss dağılımının zirvesine karşılık gelen en yüksek değere sahip olacaktır. Geri kalan elemanların değerleri, merkezden uzaklık arttıkça daha az etkiye sahip olacaktır.

Belirtilen formüle göre hesaplanan matris filtresine Gauss denir; boyutu ne kadar büyükse, bulanıklık o kadar güçlüdür (sabit bir y ile). Bu filtre ayrılabilir olduğundan, şu şekilde temsil edilebilir:

Bu nedenle, büyük filtre boyutları için yöntemin önemli bir hızlanmasına yol açan, sıralı olarak satırlar ve sütunlar tarafından evrişim gerçekleştirilebilir.

2Dcleaner algoritması

Görüntüdeki her pikseli, belirli bir yarıçapla sınırlandırılmış bir alanda alınan komşu piksellerin ortalaması ile değiştirir. Bu durumda, yarıçap içindeki tüm noktalar dikkate alınmaz, yalnızca değeri merkezi pikselden önceden belirlenmiş bir değerden (eşik değerden) daha fazla farklılık göstermeyen noktalar dikkate alınır. Bu, düzgün renkli alanların nesnelerin keskin kenarlarından daha fazla bulanıklaşmasına neden olur. Bu, ince ayrıntıları olduğu gibi tutarken görüntüdeki düşük seviyeli gürültüyü azaltır.

medyan filtreleme

Doğrusal algoritmalar, komşu pikseller, belirli bir rastgele değer dağılımına sahip olmalarına rağmen, ait oldukları bölgenin belirli bir ortalama değer karakteristiği içinde kaldıklarında, Gauss gürültüsünü bastırmada çok etkili olurlar. Ancak, bazen diğer parazit türleri tarafından bozulan görüntülerle uğraşmanız gerekir. Bu tür bir girişimin bir örneği, görüntüde rastgele dağılmış rastgele parlaklık noktalarının varlığında kendini gösteren dürtü gürültüsüdür. Bu durumda ortalama alma, bu tür noktaların her birini komşu piksellere "bulaştırır", bu da görüntü kalitesinde bir bozulmaya yol açar.

Darbe gürültüsünü bastırmanın standart yolu medyan filtrelemedir. Bu doğrusal olmayan görüntü işleme tekniği aykırı değerleri ortadan kaldırır, ancak doğrusal ortalama alma algoritmalarından farklı olarak monotonik piksel dizilerini değiştirmeden bırakır. Bu nedenle, medyan filtreleri, ilişkisiz gürültüyü ve küçük boyutlu ayrıntıları etkili bir şekilde bastırırken, nesnelerin dış hatlarını ve farklı parlaklıktaki alanlar arasındaki farkları bozulmadan koruyabilir.

Filtreleme ilkesi: Görüntünün her pikseli üzerine sırayla bindirilen belirli bir tek boyutlu pencere ayarlanır. Merkezi alan da dahil olmak üzere, dikkate alınan alandaki tüm pikseller arasında, sonunda alanın merkezi pikseline atanan medyan değeri aranır. Bu durumda medyan, bölgeye ait sıralanmış piksel değerleri dizisinin medyan elemanı anlamına gelir. Tek pencere boyutu, medyan pikselin varlığını sağlamak için tam olarak seçilir.

Görüntüdeki beyaz Gauss gürültüsünü bastırmak için bir medyan filtresi kullanmak mümkündür. Bununla birlikte, medyan filtreleme kullanılarak gürültü bastırma çalışması, bu sorunu çözmedeki etkinliğinin doğrusal filtrelemeden daha düşük olduğunu göstermektedir.

Medyan filtreleme, çoğu gürültü önleyici filtrenin doğasında var olan bir dezavantajdan yoksun değildir - gürültü bastırma derecesini iyileştirmek için maskenin boyutunu artırmak, görüntünün netliğinde bir azalmaya ve konturlarının bulanıklaşmasına yol açar. Ancak dinamik maske boyutu ile medyan filtreleme (toplam medyan filtreleme) uygulayarak olumsuz etkileri en aza indirmek mümkündür.İlkesi aynı kalır, komşu piksellerin parlaklığına bağlı olarak sadece kayan filtreleme penceresinin boyutu değişebilir.

Bir görüntüyü keskinleştirme

Görüntüdeki gürültüyü bastırmak için kullanılan hemen hemen tüm algoritmalar, bulanıklaşmasına yol açar, sonuç olarak küçük ayrıntılar kaybolur ve görüntünün algılanması zordur. Görüntü keskinleştirme filtresi, bu olumsuz etkiyi kısmen telafi edebilir ve kaybolan kontur kontrastını ve renk geçişlerini geri yükleyebilir. Keskinlik aynı zamanda diğer birçok faktöre de bağlı olabilir - merceğin kalitesi, kullanılan diyafram, çoğu dijital kameranın matrisinde bulunan ve görüntüyü değişen derecelerde bulanıklaştıran hare önleyici filtrenin kalınlığı. Ayrıca, boyutları küçültüldükten sonra görüntülerin netliğinin genellikle artırılması gerekir, çünkü bu kaçınılmaz olarak bazı bilgileri ve bununla birlikte konturların netliğini kaybeder.

Keskin olmayan maskeleme, keskinleştirme yanılsaması nedeniyle görsel algısını iyileştirmek için bir görüntünün tonları arasındaki geçişlerin kontrastını artırarak izin veren bir tekniktir. Aslında netlik aynı seviyede kalıyor, çünkü prensipte kaybolan görüntü detaylarını geri yüklemek mümkün değil, ancak farklı parlaklıktaki alanlar arasındaki kontrastın iyileştirilmesi görüntünün daha net algılanmasına neden oluyor.

Şekil 5.1 - "Kontur keskinliği" kavramının gösterimi

Görüntünün keskinliği, konturlarını oluşturan alanlar (W) arasındaki parlaklık farkının büyüklüğüne ve bu farktaki (H) değişimin keskinliğine bağlıdır.

Keskin olmayan maskeleme tekniği ilk olarak film fotoğraflarının işlenmesi için kullanıldı. Dijital görüntü işlemeye uyarlanan yöntem, orijinalinden çok az farklıdır: "keskin olmayan maske" olarak adlandırılan, görüntüden - bulanık ve ters çevrilmiş kopyası - çıkarılır. Sonuç, yalnızca orijinalin hafif dış hatlarını içeren yeni bir görüntüdür. Sadece sonucu tersine çevirerek koyu anahatlar elde edilebilir.

Gelecekte orijinal görüntüden koyu anahatları çıkarır ve açık renkli olanları eklerseniz, parlaklıktaki her farkta kontrastta önemli bir artış elde edersiniz.

Bir "keskin olmayan maske" elde etmek için orijinali bulanıklaştırmak için Gauss filtresi gibi gürültü engelleme filtrelerinden herhangi birini kullanabilirsiniz.

Şekil 5.2 - Keskin olmayan maskeleme uygulamasının sonucu

Konvolüsyon işlemi görüntü işlemede oldukça sık kullanılır. Keskinleştirmeye ek olarak, bulanıklaştırma, parlaklığı artırma, aydınlatma vb.

Görüntü evrişimi, belirli bir pikselin, çevreleyen komşu piksellerin değerlerini hesaba katan yeni bir değerini hesaplama işlemidir. Genel anlamda bu terim, görüntünün her bir parçası üzerinde gerçekleştirilen bazı eylemler anlamına gelir.

Evrişimin ana unsuru evrişim maskesidir - bu bir matristir (keyfi boyut ve en boy oranı). Bu maskeye genellikle filtre, çekirdek, desen veya pencere denir. Matris elemanlarının değerlerine genellikle katsayılar denir.

Çoğu zaman, bir evrişim çekirdeği olarak bir kare matris kullanılır.

Görüntünün evrişim işlemiyle işlenmesi aşağıdaki gibidir: Matrisin "anchor" adı verilen merkezi elemanı, görüntünün her pikseli üzerine sırayla bindirilir. Ele alınan pikselin yeni değeri, komşu piksellerin değerlerinin toplamı, evrişim maskesinin karşılık gelen katsayıları ile çarpılarak hesaplanır.

Ortaya çıkan etki, seçilen evrişim çekirdeğine bağlıdır.

Kontrast arttırıcı filtrenin çekirdeği, (0, 0) noktasında 1'den büyük bir değere sahiptir ve tüm değerlerin toplamı 1'e eşittir. Örneğin, kontrast arttırıcı filtre, çekirdekleri ile belirtilen filtrelerdir. matrisler:

Kontrastı artırma etkisi, filtrenin bitişik piksellerin yoğunlukları arasındaki farkı vurgulayarak bu yoğunlukları birbirinden uzaklaştırmasıyla elde edilir. Bu etki ne kadar güçlü olursa, çekirdeğin merkezi teriminin değeri o kadar büyük olacaktır.

Evrişim tabanlı doğrusal kontrast filtreleme, görüntünün kenarlarında görünür renk halelerine neden olabilir.

Aydınlatma Farkı Telafisi

Görüntü aydınlatma sorunları çoğunlukla pencereler, güneş veya diğer düzensiz ışık kaynakları çerçeveye girdiğinde ortaya çıkar.

Bu duruma "aşırı ışık" denir ve çok parlak payanda aydınlatması nedeniyle, aşırı parlak nesnelerin arka planına yerleştirilmiş nesnelerin ayrıntılarının ve renklerinin kaybolmasına ve ayırt edilmesinin zorlaşmasına yol açar.

Işık eksikliği durumu da yaygındır. Zayıf aydınlatmaya sahip karanlık odalarda çekim yapmanın yanı sıra video ekipmanının sınırlı hassasiyet aralığından kaynaklanabilir.

Tek Ölçekli Retinex Algoritması

Her pikselin parlaklığını belirli bir sabit değerle artırarak bir görüntüyü aydınlatmaya çalıştığınızda, başlangıçtaki parlak alanlar tamamen sönebilir.

Bu gibi durumlarda, görüntüdeki aydınlatmayı eşitleyebilecek, aydınlık alanları karanlık alanlara göre daha az işleyecek “akıllı” renk düzeltmesi uygulamak gerekir.

Bu gereksinimler, retinal reseptör tasarımı ilkelerine dayanan Tek Ölçekli Retinex algoritması ile karşılanmaktadır. Algoritmanın temel amacı, görüntüyü aydınlatmadan ve ayrıntıdan ayrı ayrı sorumlu bileşenlere bölmektir. Görüntüdeki problemler sahnenin aydınlatmasıyla ilgili olduğundan, aydınlatmadan sorumlu bir bileşen aldıktan sonra, onu görüntüden ayrı olarak dönüştürmek ve böylece kalitesini önemli ölçüde artırmak mümkün hale gelir.

Herhangi bir görüntü, yüksek frekanslı bir sinyalin (yansıma - R) ve düşük frekanslı bir sinyalin (aydınlatma - I) bir ürünü olarak temsil edilebilir.

S (x, y) = I (x, y) * R (x, y) (5.6)


Şekil 5.3 - Retinex algoritmasında görüntünün temsili.

Düşük geçişli filtreleme kullanılarak aydınlatmanın yaklaşık bir görüntüsü elde edilebilir - başka bir deyişle, orijinal görüntüyü örneğin bir Gauss filtresiyle basitçe bulanıklaştırarak.

nerede G - Gauss filtresi

Sinyalin logaritması frekansı değiştirmediğinden ve logaritmik fonksiyonun özelliklerinden dolayı (ürünün logaritması, faktörlerin logaritmalarının toplamına eşittir), sinyallerin çarpımını bölme sorunu olabilir. sinyallerin toplamını bölme problemine basitleştirilmiştir.

Bundan sonra, orijinal genlik ölçeğine geri döndürmek için yalnızca alınan sinyalden bir üs almak kalır. Ortaya çıkan yüksek frekanslı bileşen, yeni bir ışık modeli olarak işlev gören bulanık ve aydınlatılmış orijinal görüntüye eklenebilir.

Aydınlatmanın eşitlenmesinden elde edilen etki çok güçlü olabilir (karanlık alanlar, aydınlık olanlarla aynı parlaklıkta olacaktır). Efekti azaltmak için, işlenmiş görüntüyü orijinalle belirli bir oranda karıştırabilirsiniz.

Gamma düzeltmesi

Gama düzeltmenin asıl amacı, farklı monitörlerde görüntülendiğinde görüntünün aynı görünmesi için farklı çıkış aygıtlarında görüntülenen renklerdeki farklılıkları telafi etmektir. Uygulanan güç işlevinin doğrusal olmayan görünümü nedeniyle, gama düzeltme, parlak ayrıntıları aşırı pozlamadan ve görüntüdeki nesnelerin kenarlarının ayırt edilebilirliğini kaybetmeden görüntünün karanlık alanlarının kontrastını artırmanıza da olanak tanır.

Televizyonda analog biçimde ve en yaygın grafik biçimlerinde dijital biçimde parlaklık hakkında bilgi, doğrusal olmayan bir ölçekte depolanır. Monitör ekranındaki bir pikselin parlaklığı orantılı olarak kabul edilebilir.

burada i, ekrandaki pikselin parlaklığı (veya ayrı ayrı kırmızı, yeşil ve mavi renk bileşenlerinin parlaklığı),

V, rengin 0 ile 1 arasındaki sayısal değeridir ve

d - gama düzeltmesinin göstergesi.

r 1'den küçükse, seviyelerin iletim özellikleri dışbükey olacak ve ortaya çıkan görüntü orijinalden daha açık olacaktır. Eğer r 1'den büyükse, seviyelerin transferinin özellikleri içbükey olacak ve ortaya çıkan görüntü orijinalinden daha koyu olacaktır.

Varsayılan olarak, r parametresi 1'e eşittir; bu, seviyelerin iletiminin doğrusal özelliğine ve gama düzeltmesinin olmamasına karşılık gelir.

Bir görüntünün konturlarını seçme

Kontur analizi, ana hatlar olarak temsil edilen grafik nesneleri tanımlamak, tanımak, karşılaştırmak ve aramak için kullanılabilir. Konturların kullanılması, nesnenin iç noktalarını dikkate almadığından, bu, bu işlemlerin hesaplama ve algoritmik karmaşıklığını önemli ölçüde azaltabilir.

Şekil 5.4 - r parametresine bağlı olarak güç fonksiyonu biçimindeki değişiklik

Nesne anahattı, görüntüde nesneyi arka plandan ayıran belirli bir eğriyi temsil eden noktaların bir listesidir. Çoğu zaman, kontur boyunca parlaklık veya renkte bir sıçrama gözlenir.

Görüntüdeki kontur aramasını basitleştirmek için önceden ikili hale getirebilirsiniz.

Sobel filtresi, nesnelerin sınırlarını parlaklıklarına göre seçer. Renk bileşeni dikkate alınmadığından, öncelikle görüntülerin gri tonlamaya dönüştürülmesi gerekir.

Sobel filtresi, parlaklık gradyanının yaklaşık değerini hesaplayarak her piksele sırayla uygulanır. Görüntünün her noktası için gradyan (parlaklık fonksiyonu), bileşenleri görüntü parlaklığının yatay ve dikey türevleri olan iki boyutlu bir vektördür.

Görüntünün her noktasında, gradyan vektörü, parlaklıktaki en büyük artış yönünde yönlendirilir ve uzunluğu, parlaklıktaki değişimin büyüklüğüne karşılık gelir. Bu veriler, belirli bir nesnenin sınırında söz konusu noktayı bulma olasılığının yanı sıra bu sınırın yönü hakkında bir varsayım yapmamızı sağlar.

O. Sobel operatörünün sabit parlaklık bölgesindeki bir noktada çalışmasının sonucu sıfır vektör ve farklı parlaklık bölgelerinin sınırında uzanan bir noktada - sınırı artan parlaklık yönünde geçen bir vektör olacaktır.

Görüntüdeki her noktadaki türevlerin yaklaşık değerlerini hesaplamak için Sobel filtresi 3×3 matrisli evrişim kullanır.

Sobel matris katsayıları:

Gradyanın nihai değeri, aşağıdaki formülle yaklaşık olarak hesaplanır:

|G | = |Gx | + |Gy |

Kenny Sınır Dedektörü

Kenny'nin çalışması bilgisayarlı görmenin (1986) ilk günlerinde yapılmış olsa da, Kenny sınır detektörü hala en iyi detektörlerden biridir. Kenny'nin yöntemi çok aşamalı bir algoritmadır ve aşağıdaki adımları içerir:

1. Görüntüyü gürültüden ve gereksiz ayrıntılardan temizleme.

2. Görüntüyü gürültüden ve gereksiz ayrıntılardan temizleme.

3. Örneğin, Sobel operatörü tarafından görüntü gradyanlarını arayın.

4. Maksimum olmayanların bastırılması. Yalnızca yerel yüksek değerler sınır olarak işaretlenir.

5. Çift eşik filtreleme. Potansiyel sınırlar eşiklerle tanımlanır.

6. İz yolları (kenarları yollara bağla)

Görüntüdeki en ufak bir gürültü, konturlarının bütünlüğünü bozabileceğinden, aramaya başlamadan önce görüntünün herhangi bir gürültü azaltma yöntemiyle filtrelenmesi önerilir. Yüksek çalışma hızı ve uygulama kolaylığı nedeniyle, Gauss filtresi en sık kullanılır. Bir görüntünün kenarları farklı yönlerde olabilir, bu nedenle Kenny'nin algoritması yatay, dikey ve çapraz kenarları algılamak için dört filtre kullanır. Sınır saptama operatörü (örneğin, Sobel operatörü) kullanılarak, yatay yönde (Gy) ve dikey yönde (Gx) birinci türev değeri elde edilir. Bu degradeden sınır yönünün açısını alabilirsiniz:

Sınır yön açısı, dikey, yatay ve iki köşegeni temsil eden dört köşeden birine yuvarlanır (örneğin, 0, 45, 90 ve 135 derece). Yalnızca gradyan vektörü yönünde maksimum yerel gradyan değerine ulaşılan pikseller sınır olarak bildirilir. Yön değeri 45 ° 'nin katı olmalıdır. Maksimum olmayanları bastırdıktan sonra, kenarlar daha hassas ve daha ince hale gelir.

Bir sonraki adımda, dikkate alınan her piksel için eşik filtrelemesi yapılarak, görüntü sınırlarına ait olup olmadığı belirlenir. Eşik ne kadar yüksek olursa, bulunan konturlar o kadar düzgün olur, ancak zayıf kenarlar göz ardı edilebilir. Öte yandan, eşiğin düşürülmesi, algoritmanın gürültüye duyarlılığını arttırır. Kenny'nin sınır seçimi iki filtreleme eşiği kullanır: piksel değeri üst sınırdan yüksekse, maksimum değeri alır (sınır geçerli kabul edilir), daha düşükse piksel bastırılır, bir değere sahip noktalar arasındaki aralıkta düşer. eşikler sabit bir ortalama değer alır (bir sonraki adımda düzeltilirler).

Görüntü işlemedeki son adım, tek tek kenarları tek tip konturlara bağlamaktır. Önceki adımda ortalamayı alan pikseller ya bastırılır (önceden algılanan kenarlardan herhangi birine dokunmuyorlarsa) ya da karşılık gelen kontura eklenir.

segmentasyon

Fotoğraf ve video ekipmanından elde edilen görüntülerin çoğu rasterdir, yani dikdörtgen bir ızgarada düzenlenmiş renkli noktalardan oluşur. Bununla birlikte, insanlar çevrelerindeki dünyayı bir noktalar matrisi olarak değil, bütün bir nesneler topluluğu olarak algılarlar. İnsan beyni, bir görüntünün farklı ayrıntılarını homojen alanlarda birleştirebilir ve bilinçaltında onu nesnelere bölebilir. Bu işleme segmentasyon denir ve bilgisayar görüntü analizi ve örüntü tanıma problemi çözülürken programlı olarak uygulanabilir. Segmentasyon, analizin ilk aşamalarında gerçekleştirilir ve yürütmenin kalitesi, hızı ve doğruluğu üzerinde güçlü bir etkiye sahip olabilir.

Segmentasyon yöntemleri iki sınıfa ayrılabilir: otomatik - kullanıcı etkileşimi gerektirmez ve etkileşimli - kullanıcı girdisini doğrudan süreçte kullanır.

İlk durumda, bölgelerin özellikleri hakkında hiçbir ön bilgi kullanılmaz, ancak görüntünün bölümlenmesi için bazı koşullar uygulanır (örneğin, tüm bölgeler renk ve doku açısından tek tip olmalıdır). Bölütleme probleminin bu formülasyonu, tasvir edilen nesneler hakkında a priori bilgi kullanmadığından, bu grubun yöntemleri evrenseldir ve herhangi bir görüntüye uygulanabilir.

Belirli bir problemde bir yöntemin kalitesinin kaba bir değerlendirmesi için, genellikle iyi bir segmentasyonun sahip olması gereken birkaç özellik kaydedilir:

§ bölgelerin tekdüzeliği (renk veya doku tekdüzeliği);

§ komşu bölgelerin farklılığı;

§ bölge sınırının düzgünlüğü;

§ bölgeler içinde az sayıda küçük "delik";

Eşik segmentasyonu

Eşikleme, tek tek homojen alanları ortalama parlaklıkta farklılık gösteren görüntü işlemeye odaklanan en basit yöntemdir. Bununla birlikte, görüntü eşit olmayan bir şekilde aydınlatılırsa, bazı nesnelerin yoğunluğu arka planla çakışabilir ve bu da eşik segmentasyonunu etkisiz hale getirecektir.

En basit ve aynı zamanda sıklıkla kullanılan eşik bölütleme türü, görüntüde yalnızca iki tür homojen alan ayırt edildiğinde ikili bölütlemedir.

Bu durumda kaynak görüntünün her noktasının çıktıya dönüştürülmesi şu kurala göre yapılır:

burada x0, eşik adı verilen tek işleme parametresidir. Çıktı parlaklık seviyeleri y0 ve y1 isteğe bağlı olabilir, yalnızca sonuçta ortaya çıkan haritanın işaretlendiği etiketlerin işlevlerini yerine getirir - puanlarını sırasıyla K1 veya K2 sınıflarına atar. Ortaya çıkan ürün görsel algı için hazırlanıyorsa, değerleri genellikle siyah beyaz seviyelerine karşılık gelir. İkiden fazla sınıf varsa, o zaman eşikleme sırasında, farklı sınıfların parlaklığını birbirinden ayıran bir eşik ailesi ayarlanmalıdır.

Eşik segmentasyonu, homojen bir yapıya sahip olan ve arka plandan keskin bir şekilde ayrılan bir görüntüde kesişmeyen az sayıda nesneyi seçmek için çok uygundur. Görüntünün heterojenlik derecesinin artması ve dolayısıyla segment sayısı ve karmaşıklığı ile bu tür segmentasyon etkisiz hale gelir.

Grafik bölmeye dayalı segmentasyon

Grafik teorisi yöntemleri, görüntü segmentasyonunda en aktif olarak gelişen alanlardan biridir.

Bu grubun yöntemlerinin genel fikri aşağıdaki gibidir. Görüntü, köşeleri görüntünün noktalarında olacak şekilde ağırlıklı bir grafik şeklinde sunulur. Bir grafiğin kenarının ağırlığı, belirli bir anlamda noktaların benzerliğini yansıtır (belirli bir metrikteki noktalar arasındaki mesafe). Görüntü bölme, grafik kesimlerle modellenir.

Genellikle, grafik teorisi yöntemlerinde, elde edilen segmentasyonun kalitesini yansıtan kesimin "maliyetinin" işlevi tanıtılır. Böylece görüntüyü homojen alanlara bölme sorunu, grafikte minimum maliyetin bir kesimini bulma optimizasyon sorununa indirgenir. Bu yaklaşım, bölümlerin renk ve dokusunun tekdüzeliğine ek olarak, bölümlerin şeklini, boyutlarını, sınırların karmaşıklığını vb. kontrol etmeyi sağlar.

Minimum maliyetin kesintisini bulmak için çeşitli yöntemler kullanılır: açgözlü algoritmalar (her adımda, kesimin toplam maliyeti minimum olacak şekilde böyle bir kenar seçilir), dinamik programlama yöntemleri (optimum kenarı seçerek garanti edilir. her adımda, en uygun yolu bulacağız), algoritma Dijkstra, vb.

İnterpolasyon

Bilgisayar grafiklerinde, görüntülerin ölçeğini değiştirme sürecinde genellikle enterpolasyon yöntemi kullanılır. Enterpolasyon, görüntüdeki piksel sayısını değiştirerek, resim büyütüldüğünde aşırı pikselleşmesini veya küçültüldüğünde önemli ayrıntıların kaybolmasını önlemeye yardımcı olur.

Enterpolasyon işlemi sırasında, komşu alanlardaki mevcut verilerin analizine dayanan özel bir algoritma kullanılarak tahmini tonu ve rengi hesaplanan görüntünün pikselleri arasına ek noktalar eklenir. Ne yazık ki, herhangi bir enterpolasyon sadece bir yaklaşıklık olduğundan, interpolasyon yapıldığında görüntü değişmez bir şekilde kalitesini kaybedecektir.

En Yakın Komşu İnterpolasyonu

Bu algoritma en basit enterpolasyon türüdür, basitçe görüntünün her pikselini gerekli ölçeğe yükseltir. En az işlem süresini gerektirir ancak en kötü sonuçları üretir.

çift ​​doğrusal enterpolasyon

Bu tür enterpolasyon, iki boyutlu ızgaranın her bir koordinatı için gerçekleştirilir. Bu durumda görüntü bir yüzey olarak kabul edilir, renk üçüncü boyuttur. Görüntü renkliyse, üç renk için ayrı ayrı enterpolasyon yapılır. Yeni görüntüdeki her bilinmeyen nokta için çift doğrusal enterpolasyon, çevreleyen bilinen dört pikselin karesini dikkate alır. Bu dört pikselin ağırlıklı ortalaması, enterpolasyonlu değer olarak kullanılır. Sonuç olarak, görüntüler en yakın komşu yönteminin sonucundan önemli ölçüde daha düzgün görünüyor.

Çift doğrusal enterpolasyon, büyük tamsayı ölçekleme faktörlerinde iyi çalışır, ancak görüntünün keskin kenarlarını oldukça fazla bulanıklaştırır.

Bikübik enterpolasyon, 4x4 çevreleyen piksellerden oluşan bir dizi göz önüne alındığında bilineer enterpolasyondan bir adım daha ileri gider - sadece 16. Bilinmeyen pikselden farklı uzaklıklarda oldukları için, en yakın pikseller hesaplamada daha fazla ağırlıklandırılır. Bikübik enterpolasyon, önceki iki yöntemden önemli ölçüde daha keskin görüntüler üretir ve işlem süresi ve çıktı kalitesi açısından tartışmasız en uygunudur. Bu nedenle, birçok görüntü düzenleme programı (Adobe Photoshop dahil), yazıcı sürücüleri ve yerleşik kamera enterpolasyonu için standart hale geldi.

Ölçeklenen görüntü çok daha az keskin olabilir. Keskinliği daha iyi koruyan enterpolasyon algoritmaları harelenmeye karşı daha hassastır, hareli ortadan kaldıranlar ise daha yumuşak bir sonuç üretme eğilimindedir. Ne yazık ki, bu ölçekleme değiş tokuşu önlenemez.

Bununla mücadele etmenin en iyi yollarından biri, orijinal zaten keskinleştirilmiş olsa bile, ölçeklemeden hemen sonra keskin olmayan bir maske uygulamaktır.

5.2 Alt sistemde kullanılan algoritmaların seçimi için gerekçe

Geliştirilen yazılım paketi için temel gereksinim, bir bilgi işlem kümesinde ön işlemesi sırasında bir video akışının oynatma gecikmesini en aza indirmekti. Ek olarak, çekim her koşulda gerçekleşebilir, bu da kısa sürede çeşitli olumsuz etkileri etkisiz hale getirmek için çok sayıda basit filtre uygulamak gerektiği anlamına gelir. Ek olarak, videoda görünen çok sayıda olumsuz faktörü kısa sürede incelemek ve bunları etkisiz hale getirmek için basit filtreler uygulamak gerekiyordu. Sunulan gereksinimleri karşılayan algoritmalar kolayca erişilebilir, iyi optimize edilmiş, son derece güvenilir ve aynı zamanda uygulanması kolay olmalıdır. OpenCV kitaplığının işlevleri bu tür özelliklere sahiptir, bu nedenle, bir video akışını işlemek için filtreleri uygulamak için belirli yöntemler seçerken, bu kitaplıkta bulunan algoritmalara bir biçimde veya başka bir öncelik verildi.

Nihai niteleme çalışmasının teorik kısmında ele alınan tüm algoritmalar, pratikte özelliklerini karşılaştırmak için bir test formunda uygulanmıştır. Özellikle, bir video akış çerçevesinin işlem hızı ile elde edilen sonucun kalitesi arasında bir uzlaşma tercih edildi.

Sonuç olarak, bir bilgi işlem kümesinde bir video akışını işlemek için filtreleri uygulamak için aşağıdaki algoritmalar seçildi:

1. “Toplamsal beyaz” gürültüyü ortadan kaldırmak için Gauss algoritması seçildi. En yaygın gürültü azaltma yöntemi olarak çok iyi optimize edilmiştir ve bu nedenle yüksek çalışma hızına sahiptir.

2. “Toplamsal beyaz” gürültüyü ortadan kaldırmak için Gauss algoritması seçildi. En yaygın gürültü azaltma yöntemi olarak çok iyi optimize edilmiştir ve bu nedenle yüksek çalışma hızına sahiptir.

3. “Dürtü” gürültüsünü gidermek için medyan filtreleme seçildi. Bu yöntem aynı zamanda iyi bir şekilde optimize edilmiştir ve dürtü ve tuz-biber gürültüsünü ortadan kaldırmak için özel olarak tasarlanmıştır.

4. Evrişim, görüntünün keskinliğini artırmak için seçildi, çünkü keskin olmayan maskelemeden çok daha hızlı çalışır ve aynı zamanda kabul edilebilir sonuçlar verir.

5. OpenCV kütüphanesi renk düzeltme algoritmaları içermez - bu nedenle en yaygın ve iyi belgelenmiş Tek Ölçekli Retinex algoritmasının uygulanmasına karar verildi. Bu yöntem çok verimlidir, ancak çalışma hızını hızlandırmak için optimizasyon gerektirir.

6. Konturları çıkarmak için bir yöntem olarak Kenny'nin algoritması seçildi, çünkü Sobel filtresinden daha iyi sonuçlar veriyor.

7. OpenCV kütüphanesinde sunulan piramidal segmentasyon algoritması son derece yavaş çalıştığından, grafikler üzerinde daha önce tartışılan segmentasyon algoritmasının kullanılmasına karar verilmiştir.

8. enterpolasyon - bikübik enterpolasyon yöntemi, işin hızı ile sonucun kalitesi arasındaki en makul uzlaşma olarak seçilmiştir.

Kullanılan yazılımın kurulumu ve konfigürasyonu.

Kullanılan bilgi işlem kümesi, GNU Linux (Ubuntu) çalıştırıyordu

İşletim sistemini kurduktan sonra, görüntü dosyalarını okuma ve yazma, ekranda çizim yapma, video ile çalışma vb. destekleyen birkaç kitaplık kurmanız gerekir.

CMake'i yükleme

Proje, CMake kullanılarak oluşturulmuştur (sürüm 2.6 veya üstü gereklidir). Şu komutla yükleyebilirsiniz:

apt-get install cmake

Aşağıdaki kitaplıklara da ihtiyacınız olabilir:

build-essential libjpeg62-dev libtiff4-dev libjasper-dev libopenexr-dev libtbb-dev libeigen2-dev libfaac-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev

ffmpeg'i yükleme

opencv'nin video dosyalarını doğru şekilde işlemesi için ffmpeg kitaplığının kurulu olması gerekir. Bu, aşağıdaki komutlarla yapılır:

1) Kütüphanenin kaynak kodlarının indirilmesi

wget http://ffmpeg.org/releases/ffmpeg-0.7-rc1.tar.gz

2) Arşivi kaynak kodlarla açma

tar -xvzf ffmpeg-0.7-rc1.tar.gz

3) Kitaplık yapılandırması

yapılandır --enable-gpl --enable-version3 --enable-nonfree --enable-postproc

Enable-libfaac --enable-libopencore-amrnb --enable-libopencore-amrwb

Enable-libtheora --enable-libvorbis --enable-libxvid --enable-x11grab

Enable-swscale --enable-shared

4) Kütüphanenin oluşturulması ve kurulması

GTK'yı yüklemek

OpenCV pencerelerinin görüntülenmesi için başlık dosyaları (libgtk2.0-dev) dahil olmak üzere GTK + 2.x veya daha yüksek bir kitaplığın kurulu olması gerekir

apt-get install libgtk2.0-dev

Opencv'yi yükleme

İlgili tüm kütüphaneler yüklendikten sonra aşağıdaki komutlar ile opencv2.2 kurulumu gerçekleştirilir:

1) OpenCV kütüphanesinin kaynak kodlarının indirilmesi

http://downloads.sourceforge.net/project/opencvlibrary/opencv-unix/2.2/OpenCV-2.2.0.tar.bz2

2) Arşivi kaynak kodlarla açma

tar -xvf OpenCV-2.2.0.tar.bz2

3) CMake kullanarak Makefile oluşturma.

4) OpenCV kitaplığının oluşturulması ve kurulması

5) Kütüphanelere giden yolu da kaydetmeniz gerekebilir.

dışa aktar LD_LIBRARY_PATH = / usr / yerel / lib: $ LD_LIBRARY_PATH

Geliştirilen yazılım paketinin kurulumu ve derlenmesi

Programların kaynak kodlarını bu açıklayıcı notun ekinde bulunan diskten kopyalamanız gerekmektedir. build_all.sh toplu iş dosyasını aynı klasöre kopyalayın ve çalıştırın. Sistemde gcc derleyicisi kuruluysa derleme otomatik olarak gerçekleşir.

DİJİTAL TEDAVİ SİNYALLER

Konu 17. GÖRÜNTÜ İŞLEME

Bir insanın hayal gücü neye cüret ederse etsin, hiçbir şey yoktur.

Titus Lucretius. Romalı filozof ve şair. 1. yüzyıl M.Ö e.

Hayal gücü iyi bir şeydir. Ama serseri bodrumdan çıkarmak, yıkamak, Apollo'ya dönüştürmek, bir kibrit kutusuna koyup bir arkadaşına e-postayla göndermek, iyi bir grafik programı daha iyi yapar.

Anatoly Pyshmintsev, Ural Okulu'ndan Novosibirsk jeofizikçisi. XX yüzyıl

Tanıtım.

1. Temel kavramlar. Görüntülerin grafik gösterimi. Bilgisayar grafiklerinde rengin temsili. RGB renk modeli. CIE XYZ renk sistemi.

2. Raster görüntülerin geometrik dönüşümleri. Dönüşümün alanları ve aşamaları. Örnekleme. İki boyutlu bir sinyalin yeniden inşasının enterpolasyon serisi. Görüntülerin frekans bozulması ve ortadan kaldırılması. Görüntüleri yeniden örnekleme.

3. Filtreleme görüntüleri. Doğrusal filtreler. Pürüzsüzleştirici filtreler. Kontrast Yükselen Filtreler. Fark filtreleri. İki boyutlu döngüsel evrişim. Doğrusal olmayan filtreler. Eşik filtreleme. Medyan filtreleme. Aşırı filtreler.

4. Görüntülerin sıkıştırılması. Tekrar Uzunluğu (RLE) kodlama algoritmaları. Sözlük algoritmaları. İstatistiksel kodlama algoritmaları. Kayıplı görüntü sıkıştırma. Görüntü kaybı tahmini. Fourier dönüşümü. Dalgacık dönüşümü.

GİRİŞ

Dijital görüntüleme alanındaki araştırmaların kapsamı hızla büyüyor. Bunun nedeni, görüntü işlemenin çok boyutlu sinyal işleme olması ve gerçek dünyadaki çoğu sinyalin çok boyutlu olmasıdır.


Matematiksel temsildeki bir görüntü, büyük miktarda bilgi taşıyan iki boyutlu bir sinyaldir. 500 × 500 öğeden oluşan renkli bir görüntü, birkaç yüz bin baytlık bir dizidir. Bu tür bilgiler yalnızca rasyonel bir hesaplama organizasyonu ile işlenebilir. Belirli görüntü işleme görevleri için, o belirli görevin özellikleri ve sınırlamaları dikkate alınarak verimli işleme teknikleri uygulanabilir. Ancak, geniş bir problem sınıfını çözmek için görüntü işleme hakkında konuşursak, keyfi problemleri çözmek için algoritmalar oluşturmanın mümkün olduğu bir dizi standart işlemi ayırmak gerekir. Bunlara doğrusal dönüşümler, 2B evrişim ve 2B ayrık Fourier dönüşümleri dahildir.

Bununla birlikte, doğrusal olmayan dönüşümler de görüntü işlemede yaygın olarak kullanılmaktadır. Görüntülerin özelliği, görüntünün bireysel öğelerinin komşu öğelerle belirli bir bağlantı içinde olmasıdır. Bu nedenle, çoğu görüntü dönüştürme algoritması doğası gereği yereldir, yani görüntüleri belirli bir komşuluk çevresinde bulunan eleman gruplarına göre işler. Doğrusal dönüşümler, yerellik özelliğini karşılar ve hesaplama karmaşıklığı çevreleyen komşuluğun boyutuna çok az bağlı olan algoritmaların oluşturulmasına izin verir. Aynı özellikler, görüntülerin doğrusal olmayan dönüşümleri için de gereklidir. Bu tür dönüşümlerin sınıfı, görüntülerin yerel sıra istatistiklerinin hesaplanmasına dayanan sıra filtreleme algoritmaları olarak adlandırılan algoritmaları içerir. Sıra istatistiklerini ve türevlerini hesaplarken, görüntülerin bilgi fazlalığı ile ilgili basitleştirmeler mümkündür. Bu sınıfın en ünlü algoritması medyan filtreleme algoritmasıdır. Sıralama algoritmalarının diğer örnekleri, analiz edilen görüntü öğesini bir mahallede maksimum veya minimum ile değiştiren aşırı filtreleme algoritmalarıdır. Sıra algoritmalarının bir başka özelliği, işlenen görüntünün özelliklerine yerel adaptasyon ve bunların yalnızca düzleştirme ve gürültüden temizleme için değil, aynı zamanda otomatik görüntü tanıma sırasında özellik çıkarma için kullanım potansiyelidir.

Görüntü işlemede, onları çok boyutlu sinyallere genellemek mümkünse, tek boyutlu sinyalleri işleme yöntemleri yaygın olarak kullanılır. Aynı zamanda, çok boyutlu sistemleri tanımlamaya yönelik matematiksel yöntemlerin tamamlanmadığını da hesaba katmak gerekir. Çok boyutlu sistemler çok sayıda serbestlik derecesine sahiptir ve tasarımları tek boyutlu sistemlerde olmayan bir esneklik kazanır. Aynı zamanda, çok boyutlu polinomlar, çok boyutlu sistemlerin analizini ve sentezini karmaşıklaştıran asal faktörlere ayrışmazlar.

17.1. Temel konseptler

Görüntülerin grafik gösterimi. Grafik bilgilerini iki boyutlu bir düzlemde (monitör ekranı) temsil etmek için iki yaklaşım kullanılır: raster ve vektör.

Vektör yaklaşımında, grafik bilgisi, çizgiler, parçalar, eğriler, dikdörtgenler vb. gibi soyut geometrik nesnelerin bir koleksiyonu olarak tanımlanır. Vektör tanımı, görüntünün yapısı hakkında önceden bilgi sahibi olduğunu varsayar.

Raster grafikler, raster biçimindeki rastgele görüntülerle çalışır. Raster, bir görüntüyü düzenli bir ızgara üzerinde özdeş öğelere bölerek (ayrıklaştırarak) ve her öğeye kendi rengini ve diğer niteliklerini atayarak bir düzlemdeki bir resmin tanımıdır. En basit raster dikdörtgendir, görüntü aktarımı için örnek sayısı açısından en ekonomik olanı altıgendir. Matematiksel bir bakış açısından, bir raster, sürekli bir görüntü fonksiyonunun düzleminde parçalı sabit bir yaklaşımdır.

Bir raster elemanına piksel denir. Piksel standart tanımlama:


f (i, j) = (A (i, j), C (i, j)), (17.1.1)

burada A (i, j) Ì R2 - piksel alanı, C (i, j) Î C - piksel özelliği (genellikle renkli). En yaygın olarak iki tür öznitelik kullanılır:

C (i, j) = I (i, j) - piksel yoğunluğu (parlaklık);

C (i, j) = (R (i, j), G (i, j), B (i, j)) - RGB renk modelindeki renk özellikleri.

Matris formunda:

Mij ​​= (Aij, Cij).

Sürekli görüntüleri ayrıklaştırırken, Aij değerleri, Cij niteliklerinin tanımlandığı Aij = (i, j) noktalarının değerleri olarak veya kareler Aij = (i, i + 1) × (j, j + 1) veya başka herhangi bir form, Cij'nin bu formdaki ortalama değerlerle belirlenmesi ile (Şekil 17.1.1).

Uygulamada, bir kural olarak, X ve Y, bir kare veya dikdörtgen rasterin negatif olmayan tamsayılarının sınırlı kümeleridir; bu, örneğin, "4 şeklinde yazılmış, genişliğin raster yüksekliğine en boy oranıdır. : 3".

Bilgisayar grafiklerinde rengin temsili. Renk kavramı, belirli bir frekans aralığındaki elektromanyetik dalgaların insan gözünün algılamasına dayanmaktadır. Algıladığımız gün ışığı 400 nm'den (mor) 700 nm'ye (kırmızı) kadar λ dalga boylarına sahiptir. Işık akısının tanımı, spektral fonksiyonu I (λ) olabilir. Spektrumu yalnızca bir belirli dalga boyuna sahipse ışığa monokromatik denir.

Retinada iki tip reseptör vardır: çubuklar ve koniler. Çubukların spektral duyarlılığı (Şekil 17.1.2), gelen ışığın parlaklığı ile doğru orantılıdır. Koniler, kırmızı, yeşil ve mavi renkler için maksimum ile sınırlı aralıklarda her biri belirli bir hassasiyete sahip olan ve karanlıkta hassasiyetlerini keskin bir şekilde kaybeden üç tipe ayrılır. Gözün maviye duyarlılığı diğer ikisine göre çok daha düşüktür. İnsan ışığı algısının önemli bir özelliği, farklı dalga boylarına sahip renkler birleştirildiğinde doğrusallıktır.

RGB renk modeli (Kırmızı, Yeşil, Mavi - kırmızı, yeşil, mavi) bilgisayar grafiklerinde şu anda en yaygın olanıdır. Bu modelde, spektral fonksiyon, negatif olmayan ağırlık katsayıları (0'dan 1'e normalize edilmiş) olan ve R, G ve B olarak gösterilen her bir koni tipi için duyarlılık eğrilerinin toplamı olarak temsil edilir. Model karakterize edilir. yeni renkler elde etmek için toplamsallık özelliği ile. Örneğin, spektral fonksiyonların kodlanması:

Siyah: fsiyah = 0, (R, G, B) = (0,0,0);

Mor fmor = fred + fblue, (R, G, B) = (1,0,1);

Beyaz beyaz = fred + fgreen + fblue, (R, G, B) = (1,1,1).

RGB modelinin üç boyutlu renk uzayı Şekil 1'de gösterilmektedir. 17.1.3. Alıcılar tarafından ışığın algılanmasının özellikleri nedeniyle, bu modelde insanlar tarafından görülebilen tüm renkler temsil edilemez. Ancak, yeniden üretilebilir renklerin payı, bu modelde temsil edilmeyen paydan çok daha yüksektir.

CIE XYZ renk sistemi. Renk gösterimi için uluslararası standart CIE (CIE - Commission Internationale de l "Eclairage), Uluslararası Aydınlatma Komisyonu tarafından 1931'de kabul edilmiştir. negatif olmayan katsayılarla (X, Y ve Z) dalga boyu doğrusal kombinasyonları, insan tarafından görülebilen tüm renkleri üretir.Bu işlevler, gözün reseptörleri tarafından ışık yoğunluğunun göreceli algısını hesaba katar.Üç boyutlu uzayda, CIE renk sistemi, birinci kadranda bir koni oluşturur ve renkli görüntülerin yüksek kalitede görüntülenmesi için kullanılır.

17.2. Bitmaplerin geometrik dönüşümleri

Dönüşümün alanları ve aşamaları. Görüntüler doku ve ayrıntıya bölünebilir. Doku görüntülerinde tüm örnekler (öğeler) bilgi taşır (TV ekranındaki görüntü). Ayrıntılı görüntü, araya giren nesneleri, arka planı ve faydalı nesneleri vurgulayabileceğiniz bir görüntüdür.

Bilgisayarlarda görüntü işleme için üç ana algoritma grubu vardır:

1. Restorasyon, rastgele gürültüden temizleme, kalitenin iyileştirilmesi, optik sistemlerin geometrik bozulmalarının düzeltilmesi (odaklanma, sapmalar, vb.) amacıyla birincil (ön) görüntü işleme.

2. Görüntülerin tanımı, örüntü tanıma. Görüntü ayrıntılarının parametrelerini belirlemek için gerçekleştirilir ve şunları içerir: bir görüntünün aydınlatma ve renk açısından tek biçimli alanlarını bulma, görüntü şekil özelliklerini vurgulama, nesnelerin özel noktalarının koordinatlarını belirleme, vb.

3. İletim ve depolamada hacmi azaltmak için verimli kodlama.

Ön işleme yöntemlerinin çoğu, doğrusal uzayda değişmez (LPI) filtrelerin kullanımına dayanmaktadır. Doğrusal algoritmalar, tek boyutlu FIR ve IIR filtrelerinin iki boyutlu analogları kullanılarak gerçekleştirilir. Örneğin, görüntülerdeki paraziti azaltmak için filtreler uygulanırken kullanılabilirler.

FIR filtreleri, evrişim yöntemi kullanılarak uygulanır. 2D FIR filtrelerinin avantajı netlik, basitlik ve mutlak kararlılıktır. IIR filtreleri, fark denklemleri ve z-dönüşümleri kullanılarak uygulanır. FIR filtrelerinden daha hızlıdırlar, ancak kararsız olabilirler. İki boyutlu IIR filtrelerinin sentezi, tek boyutlu filtrelerin sentezinden farklıdır, çünkü iki boyutlu bir fonksiyon için kutupları açık bir biçimde seçmek mümkün değildir.

Görüntüleri geri yüklemek ve kalitelerini iyileştirmek için doğrusal olmayan yöntemler de gerekebilir. Bu nedenle, örneğin, gürültüyü bastırmak ve aynı zamanda görüntülerin kontur kısmını korumak için, sıralama algoritmaları tarafından uygulanan doğrusal olmayan veya doğrusal uzamsal olarak değişmez (LPNI) filtrelerin kullanılması gerekir. Tüm sıralı doğrusal olmayan filtreler, yerel histogramları hesaplamak için hızlı algoritmalara dayanır.

Bu yöntemlerden biri de medyan filtrelemedir. Medyan filtrelerinin kullanımı, örneğin hat kesintileri dahil olmak üzere gürültü artışlarının patlamalarını bastırmak için, sinyali aynı anda bozmadan bazı gürültü türlerini ve periyodik parazitleri bastırmak için etkilidir. Yöntem, örneğin ince çizgileri ve izole edilmiş küçük nesneleri vurgulamak gibi tanıma ile ilgili sorunları çözmek için de kullanılabilir.

Görüntüleri ve örüntü tanımayı tanımlamaya yönelik algoritmalar genellikle doğrusal değildir ve doğaları gereği buluşsaldır. Nesnelerin özellikleri genellikle nesne görüntüsünün alanı, görüntü konturunun çevresi, alanın görüntü çevresinin karesine oranıdır. Nesnenin şekli, görüntüde yazılı veya nesnenin görüntüsünün çevresinde açıklanan bir dairenin yarıçapı, görüntünün "kütle merkezinden" minimum ve maksimum yarıçap vektörünün uzunluğu ile karakterize edilebilir.

Örnekleme. Görüntülerin bir bilgisayarda dönüştürülmesi ve işlenen verilerin depolanması ayrı bir biçimde gerçekleştirilir. Örnekleme, gerçek dünyanın sürekli analog görüntülerinden ayrı bir temsil elde etmek için kullanılır. Uygulamada, giriş cihazları (dijital kamera, tarayıcı veya diğerleri) tarafından gerçekleştirilir. Çıkış cihazlarında (ekran, çizici, vb.) işlenmiş görüntülerin görsel olarak algılanması için, ayrık gösterimine göre bir analog görüntü yeniden oluşturulur.

En basit siyah beyaz görüntü durumunda, iki boyutlu bir sa (x, y) dizimiz var. RGB modelindeki renkli görüntüler için, renk eklerken toplamsallık özelliği dikkate alınarak, R, G ve B'nin her katmanı, sonuçların sonraki toplamı ile birlikte iki boyutlu bir dizi olarak kabul edilebilir ve işlenebilir.

Tek boyutlu periyodik örneklemeyi iki boyutlu bir duruma genelleştirme yöntemlerinden en basiti, dikdörtgen koordinatlarda periyodik örneklemedir:

s (n, m) = sa (nDx, mDy),

burada Dx ve Dy, sürekli x ve y koordinatları ile iki boyutlu sürekli bir sa (x, y) sinyalinin yatay ve dikey örnekleme aralıklarıdır. Tek boyutlu durumda olduğu gibi Dx ve Dy değerlerinin altında 1'e eşit alınır.

İki boyutlu bir sinyalin örneklenmesi aynı zamanda spektrumunun periyodizasyonuna yol açar ve bunun tersi de geçerlidir. Ayrık bir sinyalin koordinat ve frekans gösterimlerinin bilgi denkliği durumu da ana sinyal aralıklarında eşit sayıda örnekleme noktası ile korunur. Dikdörtgen örnekleme için, doğrudan ve ters Fourier dönüşümleri şu ifadelerle belirlenir:

S (k, l) = s (n, m) exp (-jn2pk / N-jm2pl / M), (17.2.1)

S (k, l) = exp (-jn2pk / N) s (n, m) exp (-jm2pl / M), (17.2.1 ")

s (n, m) = S (k, l) exp (-jn2pk / N-jm2pl / M). (17.2.2)

s (n, m) = exp (-jn2pk / N) S (k, l) exp (-jm2pl / M). (17.2.2 ")

Pirinç. 17.2.1. Spektrum periyodizasyonu.

Bu ifadeler, dikdörtgen bir veri örnekleme raster üzerinden iki boyutlu bir DFT'nin tek boyutlu sıralı DFT'ler kullanılarak hesaplanabileceğini göstermektedir. (17.2.1 ") ve (17.2.2") ifadelerinin ikinci toplamı, sırasıyla n ve k çizgileri boyunca s (n, m) ve S (k, l) fonksiyonlarının bölümlerinin tek boyutlu DFT'leridir. , ve ilki m ve l bölümlerinde hesaplanan fonksiyonların tek boyutlu DFT'leridir. Başka bir deyişle, s (n, m) ve S (k, l) değerlerinin ilk matrisleri, önce DFT ile satırlar (veya sütunlar) ile ara matrislere ve ara matrisler - DFT ile son matrislere yeniden hesaplanır. sütunlar (veya sırasıyla satırlarla).

Analog sinyalin Fx = 1 / Dx ve Fy = 1 / Dy frekansıyla örneklenmesinden kaynaklanan spektrumun periyodik tekrarı için (Şekil 17.2.1), ana frekans aralığında spektrumu değiştirmez (orijinal analog sinyalin spektrumu ile ilgili olarak), hem satırlarda hem de sütunlarda analog sinyalin spektrumundaki fmax maksimum frekans bileşenlerinin Nyquist frekansını (fmax. x) aşmaması gerekli ve yeterlidir. £ fN = Fx / 2, fmax.y £ fM = Fy / 2). Bu, sinyalin örnekleme frekansının, sinyal spektrumundaki maksimum frekans bileşeninin en az iki katı olması gerektiği anlamına gelir:

Fx ³ 2fmaks. x, Fy ³ 2fmaks. y, (17.2.3)

bu da spektral fonksiyonların ana spektrum aralığının uçlarında sıfır değerlere ulaşmasını sağlar.

İki boyutlu bir sinyalin yeniden inşasının enterpolasyon serisi. Sürekli sinyal sa (x, y) spektrum sınırlı bir sinyal ise ve örnekleme periyotları yeterince küçük seçilirse ve bitişik periyotların spektrumları örtüşmüyorsa:

Sa (Wx, Wy) = 0 için | Wx | p / Dx, | Wy | p / Dx,

daha sonra, tek boyutlu durumda olduğu gibi, sa (x, y) sinyali, Kotelnikov-Shannon serisinin iki boyutlu bir analogu kullanılarak ayrı bir sinyalden yeniden oluşturulabilir:

sa (x, y) = Sn Sm s (n, m) . (17.2.4)

Görüntülerin frekans bozulması ve ortadan kaldırılması. Sınırsız bir spektrum sinyali de örneklenebilir, ancak bu durumda bitişik periyotlarda örtüşme vardır, Nyquist frekanslarından daha yüksek olan yüksek frekanslar, tek boyutlu durumda olduğu gibi, düşük frekanslar altında "maskelenir". ana dönem. Periyodun sınırlarından "yansımanın" etkisi, farklı koordinatlarda yansıyan frekansların girişimi nedeniyle daha da karmaşık bir resim verir. Örtüşme olarak bilinen benzer bir etki, görüntüler yetersiz örneklendiğinde de ortaya çıkacaktır. Bu etki, özellikle parlaklıktaki keskin kontrastlı değişikliklerde açıkça gözlemlenebilir.

Bu tür fenomenlerle mücadele etmek için, ön filtreleme (antialiasing) kullanılır - örtüşmeye yol açabilecek yüksek frekanslı bileşenleri kesen bir filtre ağırlıklandırma işlevine sahip bir analog görüntünün ön kıvrımı. İki boyutlu durumda, filtreleme şu şekilde açıklanır:

z (x, y) = h (x ", y") ③③ s (x-x ", y-y"). (17.2.5)

Analog görüntülerin yalnızca optik aralıkta, örneğin bir ekranda, fotoğraf kağıdında veya fotoğraf filminde ışık gösterimi şeklinde var olduğu, ancak bilgisayar belleğinde bulunamayacağı belirtilmelidir. Bu nedenle, ön filtrelemenin fiziksel performansı, yalnızca, kural olarak uygulanmayan, odaktan uzaklaştırarak bir görüntüyü kaydederken mümkündür. Birincil bilgiler her zaman maksimum tamlık ve doğrulukla kaydedilmelidir ve birincil bilgilerin gereksiz ayrıntılardan ve fazlalıklardan arındırılması, sonraki veri işleme meselesidir. Bu nedenle, Denklem 17.2.5 ile ilgili olarak, pratik uygulamasında iki boyutlu ön filtreleme, yalnızca ana frekans aralığı üzerinde geniş bir marjla (aşırı çözünürlükle) örneklenen görüntülerin filtrelenmesi olabilir ve bir kural olarak, kullanılır, örneğin görüntüleri sıkıştırırken, daha büyük bir adıma aşırı örnekleme yaparken. Ön filtreleme, görüntüleme algoritmalarına da yerleştirilebilir.

İncirde. 3 ve aşağıda, Tablo 17.2.1 en yaygın tek boyutlu kenar yumuşatma filtrelerinin örneklerini gösterir. Analog filtreler şeklinde gerçekleştirilebilirler ve örneğin, televizyon görüntü hatlarını analog biçimde radyo kanalları üzerinden iletirken (yatay antialiasing) kullanılabilirler. Prensip olarak, benzer bir işlem sütunlarda (çift görüntü) yapılabilir ve görüntü toplandıktan sonra tam bir kenar yumuşatma işlemi gerçekleştirilir, ancak bu yöntem daha çok özel bilimsel araştırma alanına aittir.

Tablo 17.2.1.

Temel ağırlık fonksiyonları

zaman penceresi

Ağırlık fonksiyonu

Fourier dönüşümü

Doğal (P)

П (t) = 1, | t | £ t; П (t) = 0, | t |> t

P (w) = 2t sin

Bartlett (D)

B (w) = t sinc2 (wt / 2).

Kına, Ganna

p(t) = 0,5

0,5P (w) + 0,25P (w + p / t) + 0,25P (w-p / t)

çekiçleme

p (t) = 0,54 + 0,46 cos (pt / t)

0,54P (w) + 0,23P (w + p / t) + 0,23P (w-p / t)

Carre (2. pencere)

p (t) = b (t) sinc (pt / t)

t · B (w) * П (w), П (w) = 1 |w |

Laplace-Gauss

p (t) = exp [-b2 (t / t) 2/2]

[(t / b) exp (-t2w2 / (2b2))] ③ П (w)

Tek boyutlu filtreler f1 (x)'in iki boyutlu analogları, iki simetri varyantında oluşturulur: veya yarıçapın bir fonksiyonu olarak:

f2 (x, y) = f1(),

veya bir çalışma olarak:

f2 (x, y) = f1 (x) × f1 (y).

İlk seçenek daha doğrudur, ancak ikincisi ayrılabilirlik özelliğine sahiptir, yani iki boyutlu evrişim, f1 (x) ile sıralar boyunca ve f1 (y) ile sütunlar boyunca sırayla iki tek boyutlu evrişim ile gerçekleştirilebilir.

Görüntü yeniden örnekleme veya yeniden örnekleme, bir dijital sinyalin örnekleme hızındaki bir değişikliktir. Dijital görüntüler için bu, görüntünün yeniden boyutlandırılması anlamına gelir.

Görüntüleri yeniden örneklemek için çeşitli algoritmalar vardır. Örneğin, çift doğrusal enterpolasyon yöntemi kullanılarak görüntüyü 2 kat büyütmek için, bitişik sütun ve satırların değerlerinin doğrusal enterpolasyonu ile ara sütunlar ve satırlar elde edilir. Yeni görüntünün her noktası, orijinal görüntüdeki daha fazla sayıda noktanın ağırlıklı toplamı olarak elde edilebilir (bikübik ve diğer enterpolasyon türleri). En yüksek kalitede yeniden örnekleme, yalnızca zamanı değil, aynı zamanda sinyalin frekans alanını da hesaba katan algoritmalar kullanıldığında elde edilir.

Görüntünün frekans bilgilerinin maksimum düzeyde korunduğu bir yeniden örnekleme algoritması düşünün. Algoritmanın tek boyutlu sinyaller üzerinde çalışmasını ele alacağız, çünkü iki boyutlu bir görüntü önce yatay olarak (sıralarla) ve sonra dikey olarak (sütunlarla) uzatılabilir veya sıkıştırılabilir ve iki boyutlu bir görüntünün yeniden örneklenmesi yapılabilir. tek boyutlu sinyallerin yeniden örneklenmesine indirgenmiştir.

0-T aralığında belirtilen ve bir adım Dt = 1 (N aralık) ile örneklenen tek boyutlu bir sinyalimiz (Şekil 17.2.4) olduğunu varsayalım. Sinyali m kez "uzatmak" gerekir. Şekilde gösterilen sinyal spektrumu hızlı Fourier dönüşümü ile hesaplanır (FFT, spektrum örneklerinin sayısı sinyal örneklerinin sayısına eşittir) ve ana FFT aralığında (0-2p, Nyquist frekansı wN = p /) verilir. Dt = p veya 0.5N, spektrum boyunca bir adımla spektrum örneklerinin numaralandırılmasına göre Df = 1 / T veya Dw = 2p / T). Germe yapmak için 2 adım vardır.

İlk adım, sinyal uzunluğunu m kat artıran sıfırlarla enterpolasyondur. (şekil 17.2.5). Orijinal sinyalin tüm örneklerini m ile çarpmak ve ardından sinyalin her örneğinden sonra m-1 sıfır değeri eklemek gerekir. Değeri değişmeyen 0-T aralığında artık m kat daha fazla örnekleme aralığı (mN) yer almaktadır ve yeni örnekleme adımı Dx = Dt / m'ye eşit olacaktır. Buna göre bu sinyal için yeni Nyquist frekansı mp / Dt = mp'dir. Ancak frekans birimlerindeki spektrum adımının fiziksel boyutu, sinyal ayar aralığının (Df = 1 / T) fiziksel değerinin tersidir ve bu nedenle, sinyalin mN noktalarından FFT, spektrumun mN noktalarını hesaplayacaktır. 0-2pm ana FFT aralığı, orijinal sinyalin spektrumunun bir adımıyla, orijinal sinyalin spektrumunun m-dönemleri (bir ana ve m-1 tarafı) mevcut olacaktır.

İkinci adım, zaman alanında veya spektral alanda düşük geçişli bir filtre kullanarak spektrumun yan bantlarını filtrelemektir. İncirde. 17.2.6, spektrum temizlendi ve ters Fourier dönüşümü yapıldı, bunun sonucunda tüm frekans bilgilerinin tam olarak korunmasıyla orijinal olandan m kat daha uzun bir sinyal elde edildi.

Benzer bir prensiple, bir sinyal sıkıştırma (desimasyon) algoritması, adımların sırası tersine çevrilirken n faktörü ile oluşturulabilir. Sinyal sıkıştırıldığında, sinyal örnekleme adımı artar ve buna bağlı olarak Nyquist frekansı azalır, kesilmiş yüksek frekanslar (sinyal spektrumunun gürültü ve önemsiz yüksek frekanslı kısımları) ana sınırdan yansıtılır. menzil ve ana bilgilere eklendi, bozulmalar yarattı. Bu fenomeni ortadan kaldırmak için, ilk olarak, sinyal, yeni Nyquist frekansına (antialiasing) eşit bir kesme frekansı ile düşük geçişli filtrelenir ve ancak bundan sonra sinyal, desimasyon ile kırılır.

Yalnızca zaman alanında yeniden örnekleme yaparken, germe ve sıkıştırma algoritmaları, kural olarak, örnekleme adımındaki değişikliği m / n oranı şeklinde belirterek, tamsayı ayarlamayı mümkün kılan tek bir sıralı işlemde birleştirilir. örnekleme adımındaki değişimin kesirli değerleri ile m ve n değerleri. Bu, algoritmaları büyük ölçüde basitleştirir ve çalışmalarının verimliliğini ve kalitesini artırır. Yani örneğin m / n = 3/2'de sinyal 1.5 kez gerildiğinde, sinyal önce 3 kez gerilir (tüm örneklere basit ve düzgün sıfır eklenmesi, ardından düşük geçişli filtreleme yapılır, ardından sinyal iki kez kırılır.Kesim frekansı ilk alçak geçiren filtrenin frekansı tarafından kapsandığından bir kenar yumuşatma filtresi gerekli değildir.Ters sıkıştırma işlemi yapıldığında (örneğin, m / n = 2/3), sadece kenar yumuşatma filtresi aynı şekilde kullanılır.

17.3. görüntüleri filtreleme

Görüntü filtreleme, orijinalinden belirli kurallara göre elde edilen aynı boyutta bir görüntüyle sonuçlanan bir işlem olarak anlaşılmaktadır. Genellikle, ortaya çıkan görüntünün her pikselinin yoğunluğu (rengi), orijinal görüntüdeki bazı çevresinde bulunan piksellerin yoğunlukları (renkleri) tarafından belirlenir.

Filtreleme kuralları çok farklı olabilir. Görüntü filtreleme, bilgisayarla görme, örüntü tanıma ve görüntü işlemenin en temel işlemlerinden biridir. Görüntü işleme yöntemlerinin ezici çoğunluğunun çalışması, kaynak görüntülerin şu veya bu şekilde filtrelenmesiyle başlar.

Hat filtreleri çok basit bir matematiksel açıklaması var. Orijinal gri tonlamalı A görüntüsünün verildiğini varsayacağız ve piksellerinin yoğunluğunu A (x, y) belirteceğiz. Doğrusal bir filtre, raster üzerinde tanımlanan gerçek değerli bir işlev h (filtre çekirdeği) tarafından tanımlanır. Filtrelemenin kendisi, ayrık evrişim (ağırlıklı toplama) işlemi kullanılarak gerçekleştirilir:

B (x, y) = h (i, j) ③③A (x, y) = h (i, j) A (x-i, y-j). (17.3.1)

Sonuç B görüntüsüdür. Genellikle, filtre çekirdeği (0, 0) noktasının yalnızca bazı N komşuluğunda sıfır değildir. Bu komşuluğun dışında h (i, j) sıfırdır veya ona çok yakındır ve ihmal edilebilir. Toplama (i, j) Î N üzerinden yapılır ve her B (x, y) pikselinin değeri, (x, y) noktasında ortalanmış N penceresinde bulunan A görüntüsünün pikselleri tarafından belirlenir. ) (tanımlama - N (x, y) kümesi). N dikdörtgen komşuluğunda tanımlanan bir filtre çekirdeği, kenar uzunluklarının tek sayılar olduğu bir m'ye n matris olarak görüntülenebilir. Bir çekirdek matris olarak belirtilirken ortalanmalıdır. Piksel (x, y) görüntünün kenarlarına yakınsa, belirli (i, j) için A (x-i, y-j) koordinatları görüntünün dışında var olmayan A piksellerine karşılık gelebilir. Bu sorun birkaç yolla çözülebilir.

B görüntüsünü kenarlarından kırparak veya A görüntüsünün orijinal değerlerini değerlerine uygulayarak bu pikselleri filtrelemeyin.

Eksik pikseli, ağırlığını h (i, j) N (x, y) komşuluğundaki diğer pikseller arasında eşit olarak dağıtarak toplama dahil etmeyin.

Ekstrapolasyon kullanarak görüntü sınırlarının dışındaki piksel değerlerini yeniden tanımlayın.

Bir ayna görüntüsü devamı kullanarak görüntü sınırlarının dışındaki piksel değerlerini yeniden tanımlayın.

Yöntem seçimi, belirli filtre ve görüntü özellikleri dikkate alınarak yapılır.

Pürüzsüzleştirici filtreler. Yarıçap r'nin en basit dikdörtgen yumuşatma filtresi, tüm değerleri 1 / (2r + 1) 2'ye eşit olan (2r + 1) × (2r + 1) boyutlu bir matris ve toplamı kullanılarak belirtilir. değerler bire eşittir. Düşük frekanslı tek boyutlu hareketli ortalama U-şekilli filtrenin iki boyutlu bir analogudur. Böyle bir çekirdek ile filtreleme yapıldığında, çevresinde 2r + 1 kenarlı bir karede piksel değeri ortalama piksel değeri ile değiştirilir. 3 × 3 filtre maskesi örneği:

.

Filtrelerin uygulamalarından biri de gürültü azaltmadır. Gürültü, pikselden piksele bağımsız olarak değişir ve gürültü değerinin matematiksel beklentisinin sıfıra eşit olması koşuluyla, toplama sırasında komşu piksellerin gürültüsü birbirini telafi edecektir. Filtreleme penceresi ne kadar büyük olursa, gürültünün ortalama yoğunluğu o kadar az olur, ancak bu aynı zamanda önemli görüntü ayrıntılarının karşılık gelen bulanıklaşmasına neden olur. Filtrasyon (tek bir darbeye tepki) sırasında siyah bir arka plan üzerinde beyaz bir noktanın görüntüsü, düzgün gri bir kare olacaktır.

Dikdörtgen filtre kullanarak gürültü azaltmanın önemli bir dezavantajı vardır: filtre maskesindeki işlenenden herhangi bir mesafedeki tüm pikseller sonuç üzerinde aynı etkiye sahiptir. Merkez noktasının ağırlığında bir artışla filtreyi değiştirirken biraz daha iyi bir sonuç elde edilir:

.

Piksellerin sonuç üzerindeki etkisi, işlenenden uzaklaştıkça azalacaksa, daha etkili gürültü azaltma gerçekleştirilebilir. Bu özellik, çekirdeğe sahip bir Gauss filtresine sahiptir: h (i, j) = (1 / 2ps2) exp (- (i2 + j2) / 2s2). Gauss filtresi, sonsuz boyutta sıfır olmayan bir çekirdeğe sahiptir. Bununla birlikte, filtre çekirdeğinin değeri çok hızlı bir şekilde n'ye düşer ve bu nedenle, pratikte, örneğin, pencere yarıçapını 3σ'ya eşit alarak, (0, 0) civarında küçük bir pencere ile evrişimle kendimizi sınırlayabiliriz.

Gauss filtreleme aynı zamanda kenar yumuşatmadır. Bununla birlikte, dikdörtgen filtreden farklı olarak, Gauss filtrelemeli bir noktanın görüntüsü, ortadan kenarlara doğru parlaklıkta azalma olan simetrik bulanık bir nokta olacaktır. Görüntülerin bulanıklık derecesi σ parametresi tarafından belirlenir.

Kontrast Artan Filtreler ... Kenar yumuşatma filtreleri görüntüyü bulanıklaştırarak yerel kontrastı azaltırken, kontrast artırıcı filtreler tam tersi etki yaratır ve esasen yüksek uzaysal frekans filtreleridir. (0, 0) noktasındaki kontrast arttırıcı filtrenin çekirdeği, toplam değerlerin toplamı 1'e eşit olan 1'den büyük bir değere sahiptir. Örneğin, kontrast arttırıcı filtreler, matrislerle belirtilen bir çekirdeğe sahip filtrelerdir:

. .

Filtre uygulamasının bir örneği Şekil 2'de gösterilmektedir. 17.3.1. Kontrastı artırma etkisi, filtrenin bitişik piksellerin yoğunlukları arasındaki farkı vurgulayarak bu yoğunlukları birbirinden uzaklaştırmasıyla elde edilir. Bu etki ne kadar güçlü olursa, çekirdeğin merkezi teriminin değeri o kadar büyük olacaktır. Doğrusal kontrastı artıran filtrelemenin karakteristik bir eseri, fark edilir ışık ve sınırların çevresinde daha az fark edilen koyu halelerdir.

fark filtreleri Doğrusal filtreler, diferansiyel operatörlerin ayrık yaklaşımlarıyla (sonlu farklar yöntemiyle) tanımlanır. Bu filtreler, örneğin bir görüntüdeki sınırları bulma görevleri gibi birçok uygulamada önemli bir rol oynar.

En basit diferansiyel operatör, sürekli fonksiyonlar için tanımlanan x-koordinat d / dx'e göre türevi almaktır. Ayrık görüntüler için benzer operatörlerin yaygın çeşitleri, Prewitt ve Sobel filtreleridir:

. .

Türevin operatörünü y-koordinatı d / dy'ye göre yaklaşık olarak veren filtreler, matrislerin yer değiştirmesi ile elde edilir.

Üç bitişik noktadan gradyan normunu hesaplamak için en basit algoritma:

G (x, y) = .

Basitleştirilmiş bir hesaplama formülü de uygulanır:

Dört bitişik noktadan gradyan normunun hesaplanması (Roberts operatörü):

Sobel'in algoritması, merkez noktasının yakınında sekiz parlaklık okuması kullanır:

G (x, y) = , G (x, y) @ ,

Gxx, y = -,

Gyx, y = -.

Gradyan normunun daha doğru bir şekilde belirlenmesinin yanı sıra, Sobel'in algoritması, görüntü analiz düzlemindeki gradyan vektörünün yönünü, gradyan vektörü ile matris satırlarının yönü arasındaki j açısı şeklinde belirlemeye de izin verir:

j (x, y) = argtg (Gyx, y / Gxx, y).

Görüntünün ortalama yoğunluğunu değiştirmeyen kenar yumuşatma ve kontrast arttırıcı filtrelerin aksine, kural olarak fark operatörlerinin kullanılması sonucunda ortalama piksel değeri sıfıra yakın olan bir görüntü elde edilir. Orijinal görüntünün dikey kenarları (sınırları), ortaya çıkan görüntüde büyük mutlak değerlere sahip piksellere karşılık gelir. Bu nedenle delta filtrelere sınır seçim filtreleri de denir.

Yukarıdaki filtrelere benzer şekilde, sonlu farklar yöntemini kullanarak diğer diferansiyel operatörler için filtreler oluşturabilirsiniz. Özellikle, birçok uygulama için önemli olan Laplace diferansiyel operatörü (Laplacian) D = 𝝏2 / 𝝏x2 + 𝝏2 / 𝝏y2, matrisli bir filtre (seçeneklerden biri) ile ayrık görüntüler için yaklaşık olarak tahmin edilebilir:

.

Şekilde görüldüğü gibi 17.3.2, ayrık Laplacian uygulamasının bir sonucu olarak, büyük mutlak değerler parlaklıktaki hem dikey hem de yatay farklılıklara karşılık gelir. Bu nedenle filtre, herhangi bir yönelimin sınırlarını bulan bir filtredir. Görüntüdeki sınırların bulunması, bu filtre uygulanarak ve büyüklüğü belirli bir eşiği aşan tüm pikseller alınarak yapılabilir.

Ancak, bu algoritmanın önemli dezavantajları vardır. Bunlardan en önemlisi, eşik değerinin seçimindeki belirsizliktir. Görüntünün farklı bölümleri için, genellikle önemli ölçüde farklı eşik değerlerinde kabul edilebilir bir sonuç elde edilir. Ayrıca, fark filtreleri görüntü gürültüsüne karşı çok hassastır.

İki boyutlu döngüsel evrişim. Tek boyutlu sinyallere gelince, hızlı Fourier dönüşüm algoritmaları kullanılarak ve görüntünün iki boyutlu spektrumları ile filtre çekirdeğinin çarpılmasıyla uzaysal frekanslar alanında iki boyutlu evrişim gerçekleştirilebilir. Aynı zamanda döngüseldir ve genellikle kayan bir versiyonda gerçekleştirilir. Döngüselliği hesaba katarak, çekirdek spektrumunun sabit modelini hesaplamak için, çekirdek filtre maskesinin boyutları eksenler boyunca ikiye katlanır ve sıfırlarla doldurulur ve aynı maske boyutları, görüntü üzerinde kayan bir pencere seçmek için kullanılır. hangi FFT gerçekleştirilir. FFT ile bir FIR filtresi uygulamak, özellikle filtrenin geniş bir referans alanına sahip olması durumunda etkilidir.

Doğrusal olmayan filtreler ... Sayısal görüntü işlemede, sıra istatistiklerine dayalı doğrusal olmayan algoritmalar, çeşitli gürültü modellerinden zarar görmüş görüntüleri kurtarmak için yaygın olarak kullanılmaktadır. Gürültüyü kaldırırken ek görüntü bozulmasını önlemenize ve ayrıca yüksek derecede gürültüye sahip görüntülerde filtreleme sonuçlarını önemli ölçüde iyileştirmenize izin verir.

Bu komşuluk için merkezi olan bir görüntü elemanı A (x, y) için M-komşu kavramını tanıtalım. En basit durumda, M-komşu N-piksel içerir - merkezi olan (veya dahil olmayan) filtre maskesine düşen noktalar. Bu N-elemanlarının değerleri, artan (veya azalan) sırada değişen bir V (r) varyasyon serisinde düzenlenebilir ve bu serinin belirli anları, örneğin, parlaklığın ortalama değeri mN olarak hesaplanabilir. ve varyans dN. Merkez numunenin yerini alan filtrenin çıkış değerinin hesaplanması aşağıdaki formül kullanılarak yapılır:

B (x, y) = aA (x, y) + (1-a) mN. (17.3.2)

a = katsayısının değeri, filtre penceresindeki sayım istatistikleriyle belirli bir ilişki ile ilişkilidir, örneğin:

a = dN / (dN + k dS), (17.3.3)

dS, S> M ve MÎS için bir bütün olarak görüntüdeki veya S-komşuluğundaki gürültünün varyansıdır, k, S-komşunun varyansının güven sabitidir. Bu formülden aşağıdaki gibi, k = 1 ve dN için "dS, a" 0,5 yer alır ve B (x, y) = (A (x, y) + mN) / 2 değeri, yani eşit olarak toplanır merkezi referansın değerlerinden ve M komşuluğunun piksellerinin ortalama değerinden. dN değerlerinin artmasıyla merkezi referans değerinin sonucuna katkı, azaldıkça mN değeri artar. Ortalama değerlerin M-komşu üzerindeki katkısının ağırlığı, k katsayısının değeri ile değiştirilebilir.

İstatistiksel fonksiyonun seçimi ve a katsayısının buna bağımlılığının doğası oldukça çeşitli olabilir (örneğin, M-komşuluğundaki numunelerdeki farklılıkların merkezi numune ile olan farklılıklarına göre) ve her ikisine de bağlıdır. filtre açıklığının boyutuna ve görüntülerin ve gürültünün doğasına bağlıdır. Özünde, a katsayısının değeri, merkezi referansa verilen hasarın derecesini ve buna bağlı olarak, onu düzeltmek için M-mahallesinden numune alma işlevini belirtmelidir.

Görüntü işleme için en basit ve yaygın doğrusal olmayan filtre türleri, eşik ve medyan filtreleridir.

Eşik filtreleme örneğin aşağıdaki gibi ayarlanır:

B(x,y) =

Büyüklük P filtreleme eşiğidir. Filtrenin merkez noktasının değeri, M komşuluğundaki numunelerin mN ortalama değerini eşik değeri kadar aşarsa, o zaman ortalama değer ile değiştirilir. Eşik değeri ya sabit olabilir ya da işlevsel olarak merkez noktasının değerine bağlı olabilir.

medyan filtreleme aşağıdaki gibi tanımlanır:

B (x, y) = orta (M (x, y)),

yani filtreleme sonucu, şekli filtre maskesi tarafından belirlenen komşu piksellerin medyan değeridir. Medyan filtreleme, tek tek pikselleri bağımsız olarak etkileyen bir görüntüdeki paraziti etkili bir şekilde kaldırabilir. Örneğin, bu tür gürültüler, dijital fotoğrafçılıkta "kırık" pikseller, bazı pikseller maksimum yoğunluğa sahip piksellerle değiştirildiğinde "kar" gürültüsüdür. Medyan filtrelemenin avantajı, koyu bir arka plan üzerinde "sıcak" bir pikselin olmasıdır. karanlık olacak ve çevrede "bulaşmayacak".

Medyan filtreleme, filtre açıklığı içindeki bir sayı dizisinin monotonik olmayan bir bileşeni olan dizi elemanlarına göre belirgin bir seçiciliğe sahiptir. Aynı zamanda, medyan filtresi dizinin monotonik bileşenini değiştirmeden bırakır. Bu özellik sayesinde, optimal olarak seçilmiş bir açıklığa sahip medyan filtreleri, nesnelerin keskin kenarlarını bozulma olmadan korur, ilişkisiz veya zayıf korelasyonlu gürültüyü ve küçük boyutlu ayrıntıları bastırır.

Aşırı filtreler kurallarla belirlenir:

Bmin (x, y) = min (M (x, y)),

Bmax (x, y) = maks (M (x, y)),

yani filtre sonucu filtre maskesindeki minimum ve maksimum piksel değerleridir. Bu tür filtreler, kural olarak ikili görüntüler için kullanılır.

17.4. GÖRÜNTÜ SIKIŞTIRMA

Renk için piksel başına 24 bitte 3000 × 2000 düzeyinde çözünürlüğe sahip tipik bir görüntü 17 megabayttır. Profesyonel cihazlar için, elde edilen görüntü rasterinin boyutu çok daha büyük olabilir, renk derinliği piksel başına 48 bite kadar ve bir görüntünün boyutu 200 megabayttan fazla olabilir. Bu nedenle, görüntü sıkıştırma algoritmaları, bir görüntüyü temsil eden veri miktarını azaltmak için oldukça önemlidir.

İki ana algoritma sınıfı vardır:

1. Kayıpsız sıkıştırma, eğer herhangi bir h-görüntü A [h] = h1 için A-1 = h olacak şekilde ters bir A-1 algoritması varsa. Kayıpsız sıkıştırma, GIF, PCX, PNG, TGA, TIFF gibi grafik görüntü formatlarında kullanılır ve en ufak bir bozulma olduğunda bile özellikle değerli birincil bilgilerin (tıbbi görüntüler, hava ve uzay görüntüleri vb.) işlenmesinde kullanılır. istenmeyen

2. Kayıplı sıkıştırma (kayıplı sıkıştırma), orijinal görüntüyü doğru bir şekilde geri yükleme yeteneği sağlamıyorsa. A ile eşleştirilen yaklaşık görüntü restorasyonu için bir algoritma A * olarak belirtilecektir. (A, A *) çifti, görsel kaliteyi korurken yüksek sıkıştırma oranları sağlamak için seçilir. Kayıplı sıkıştırma, görüntü formatlarında kullanılır: JPEG, JPEG2000, vb.

Tüm algoritmalar ve ifadeler, öğeleri sınırlı sayıda değer alabilen hem görüntülere hem de rastgele dizilere atıfta bulunur. Herhangi bir veri setini kayıpsız sıkıştıran ideal algoritmaların olmadığı akılda tutulmalıdır.

Tekrar Uzunluğu (RLE) Kodlama Algoritmaları basit bir prensibe dayanır: orijinal dizinin tekrar eden eleman gruplarını bir çift (miktar, eleman) veya sadece miktar ile değiştirmek.

Bit seviyesi. Orijinal verileri, örneğin siyah beyaz bir görüntüyü temsil eden bir bit dizisi düzeyinde ele alacağız. Genellikle arka arkaya birkaç 0 veya 1 vardır ve ardışık aynı basamakların sayısını kodlayabilirsiniz. Ancak tekrar sayısı da bit olarak kodlanmalıdır. Her tekrar sayısının 0'dan 7'ye (3-bit kod) değiştiğini ve bir ve sıfır kod dizisini değiştirdiğini varsayabiliriz. Örneğin, dizi 7 0 4, yani 7 birler, 0 sıfırlar, 4 birler ile karşılaştırılabilir, yeni bir yılımız varken - Aynı bit dizilerinin uzunluğu ne kadar uzun olursa, etki o kadar büyük olur. Böylece, 21 bir, 21 sıfır, 3 bir ve 7 sıfırdan oluşan bir dizi şu şekilde kodlanmıştır: yani, 51 bit uzunluğundaki orijinal diziden, 36 bit uzunluğunda bir dizimiz var.

Bayt seviyesi. Girişe gri tonlamalı bir görüntünün beslendiğini, burada piksel yoğunluğunun değerine 1 bayt tahsis edildiğini ve uzun bir özdeş bit dizisi beklentisinin önemli ölçüde azaldığını varsayalım.

Giriş akışını baytlara böleceğiz (0'dan 255'e kadar kod) ve tekrarlanan baytları çiftler halinde (sayı, harf) kodlayacağız. Tek bir bayt değişmeden bırakılabilir. Böylece, AABBBCDAA baytları (2A) (3B) (C) (D) (2A) olarak kodlanmıştır.

Bununla birlikte, algoritmanın etkili olduğu dizilerin alt sınıfı nispeten dar olduğundan, bu algoritmanın modifikasyonları nadiren kendi başlarına kullanılır (örneğin, PCX formatında). Çoğu zaman, sıkıştırma boru hattının aşamalarından biri olarak kullanılırlar.

Sözlük algoritmaları giriş dizisinin yalnızca bir öğesini kodlamak yerine, öğe zinciri kodlanır. Bu durumda, yenilerini kodlamak için (giriş dizisinden oluşturulan) bir dizi sözlüğü kullanılır.

LZ77 algoritması, sözlük kullanan ilk algoritmalardan biriydi. Dizinin son N zaten kodlanmış öğesi bir sözlük olarak kullanılır. Sıkıştırma işlemi sırasında, alt sıra sözlüğü gelen sıranın üzerinde "kayar". Çıktıdaki eleman zinciri şu şekilde kodlanmıştır: sözlükte işlenmiş eleman zincirinin eşleşen kısmının konumu - ofset (geçerli konuma göre), uzunluk, zincirin eşleşen kısmını takip eden ilk eleman. Kibrit zincirinin uzunluğu yukarıdan n sayısı ile sınırlandırılmıştır. Buna göre görev, işlenmekte olan diziyle eşleşen sözlükten en büyük dizeyi bulmaktır. Eşleşme yoksa, sıfır ofseti, bir uzunluk ve kodlanmamış dizinin ilk öğesi kaydedilir.

Yukarıda açıklanan kodlama şeması, iki bölümden oluşan bir kayar pencere kavramına yol açar:

N-sözlük uzunluğundaki zaten kodlanmış öğelerin bir devamı - arama arabelleği;

Bir eşleşme bulmaya çalışılacak olan elementler zincirinden n uzunluğunun sonraki dizisi, ileriye dönük arabellektir.

Sıkıştırılmış bir dizinin kodunun çözülmesi, kaydedilen kodların şifresinin çözülmesidir: her giriş, bir sözlükten bir dize ve açıkça yazılmış bir öğe ile eşleştirilir, ardından sözlük kaydırılır. Sözlük, kod çözme algoritması çalışırken yeniden oluşturulur.

Bu algoritma, bütün bir algoritma ailesinin atasıdır. Avantajları, oldukça büyük dizilerde iyi bir sıkıştırma oranı ve hızlı dekompresyon içerir. Dezavantajları, düşük bir sıkıştırma hızı ve alternatif algoritmalardan daha düşük bir sıkıştırma oranı içerir.

LZW algoritması. Bu algoritmadaki sözlük, algoritma çalışırken öğe dizileriyle dolu bir tablodur. Sıkıştırma işlemi, sözlüğe önceden yazılmış en uzun zinciri arar. Sözlükte her yeni eleman dizisi bulunmadığında, sözlüğe eklenir ve dize kodu yazılır. Teoride, tablonun boyutunda bir sınırlama yoktur, ancak boyut sınırlaması, gereksiz (bulunamayan) zincirler biriktiğinden sıkıştırma oranını iyileştirmenize izin verir. Bir tablo ne kadar çok girdiye sahipse, kodları depolamak için o kadar fazla bilgi tahsis edilmesi gerekir.

Kod çözme, kodların doğrudan şifresinin çözülmesinden, yani bir sözlük oluşturmaktan ve karşılık gelen dizilerin çıktısını almaktan oluşur. Sözlük, kodlayıcıdakiyle aynı şekilde başlatılır. Algoritmanın avantajları arasında yüksek bir sıkıştırma oranı ve oldukça yüksek bir sıkıştırma ve kod çözme hızı bulunur.

Entropi kodlama algoritmaları dizinin her bir elemanına karşılık gelen bir kod koyun, böylece uzunluğu elemanın meydana gelme olasılığına karşılık gelir. Sıkıştırma, orijinal dizinin aynı uzunluktaki (her eleman aynı sayıda bit alır) elemanlarının, olasılığın negatif logaritması ile orantılı olarak farklı uzunluktaki elemanlarla değiştirilmesiyle gerçekleşir, yani diğerlerinden daha yaygın olan elemanlar daha kısa kod uzunluğu.

Huffman algoritması, özel bir özelliğe sahip değişken uzunluklu bir önek kodu kullanır: daha kısa kodlar, daha uzun olanların önekiyle (başlangıç ​​kısmı) eşleşmez. Bu kod bire bir kodlamaya izin verir. Sıkıştırma işlemi, giriş dizisinin her bir öğesini kendi koduyla değiştirmeyi içerir. Bir dizi kodun yapımı genellikle sözde kullanılarak gerçekleştirilir. kod ağaçları.

Huffman'ın algoritması iki geçişlidir. Görüntü üzerinden ilk geçiş, bir eleman ağırlıkları tablosu oluşturur ve ikincisi sırasında kodlama gerçekleşir. Sabit tablo algoritmasının uygulamaları vardır. Çoğu zaman, alfabenin öğelerinin önceki olasılık dağılımı bilinmez, çünkü tüm dizi aynı anda mevcut değildir ve Huffman algoritmasının uyarlanabilir modifikasyonları kullanılır.

Kayıplı görüntü sıkıştırma. Görüntüleri depolamak için gereken bilgi miktarı genellikle büyüktür. Genel amaçlı algoritmalar olan klasik algoritmalar, sıkıştırılan bilginin bir görüntü - iki boyutlu bir nesne olduğunu dikkate almaz ve yeterli bir sıkıştırma oranı sağlamaz.

Kayıplı sıkıştırma, bir görüntünün insan algısının özelliklerine dayanır: belirli bir renk dalga boyu aralığında en yüksek hassasiyet, küçük bozulmaları fark etmeden görüntüyü bir bütün olarak algılama yeteneği. Kayıplı sıkıştırma algoritmalarının odaklandığı ana görüntü sınıfı, fotoğraflar, pürüzsüz renk geçişlerine sahip görüntülerdir.

Görüntü kaybı tahmini. Sıkıştırılmış olanlardan kurtarıldıktan (kod çözme) sonra görüntülerdeki kaybı değerlendirmek için birçok önlem vardır, ancak hepsi için, fark ölçüleri yeterince büyük olacak şekilde iki görüntü seçilebilir, ancak farklılıklar neredeyse algılanamaz olacaktır. göz. Ve tam tersi - gözle çok farklı, ancak küçük bir fark ölçüsü olan görüntüleri alabilirsiniz.

Standart sayısal kayıp ölçüsü genellikle, yeniden oluşturulmuş görüntünün piksel değerlerinin orijinal olandan standart sapmasıdır (RMS). Ancak, kayıp tahmininin en önemli “ölçüsü” gözlemcinin görüşüdür. Gözlemci ne kadar az farklılık (veya daha iyisi, yokluğu) algılarsa, sıkıştırma algoritmasının kalitesi o kadar yüksek olur. Kayıplı sıkıştırma algoritmaları genellikle kullanıcıya "kayıp" veri miktarını seçme yeteneği, yani sıkıştırılmış görüntünün kalitesi ve boyutu arasında seçim yapma hakkı verir. Doğal olarak, daha yüksek sıkıştırma oranıyla görsel kalite ne kadar iyi olursa, algoritma o kadar iyi olur.

Fourier dönüşümü. Genel olarak, görüntü, son raster noktalarında tanımlanan iki değişkenin bir fonksiyonu olarak düşünülebilir. Sabit bir sonlu rasterin noktalarındaki bu tür işlevler kümesi, sonlu boyutlu bir Öklid uzayı oluşturur ve ayrı bir Fourier dönüşümü, yani görüntünün spektral temsili bunlara uygulanabilir. Şunları sağlar:

Spektrum katsayılarının ilişkisizliği ve bağımsızlığı, yani bir katsayının gösteriminin doğruluğu diğerine bağlı değildir.

- Enerji sıkıştırma. Dönüşüm, temel bilgileri az sayıda katsayıda tutar. Bu özellik en çok fotogerçekçi görüntülerde belirgindir.

Spektral temsil katsayıları, görüntünün uzamsal frekanslarının genlikleridir. Düzgün geçişli görüntüler söz konusu olduğunda, bilgilerin çoğu düşük frekanslı spektrumda bulunur.

JPEG formatında kullanılan sıkıştırma algoritması, ayrık kosinüs Fourier dönüşümünün kullanımına dayanmaktadır. Algoritmadaki sıkıştırma şeması, bu dönüşümün yalnızca aşamalardan biri olduğu, ancak ana olanlardan biri olduğu bir boru hattıdır. Algoritma aşağıdaki temel işlemleri içerir:

1. YCbCr renk uzayına çeviri. Burada Y parlaklık bileşeni, Cb ve Cr kromatiklik bileşenleridir. İnsan gözü parlaklığa renkten daha duyarlıdır. Bu nedenle, Y iletiminde Cb ve Cr iletiminden daha fazla doğruluk sağlamak daha önemlidir.

2. Ayrık kosinüs dönüşümü (DCT). Görüntü 8 × 8 bloğa bölünmüştür.Her bloğa ayrı bir kosinüs dönüşümü uygulanır (Y, Cb ve Cr bileşenleri için ayrı ayrı).

3. DCT matrislerinde yüksek frekanslı bileşenlerin azaltılması. İnsan gözü pratik olarak yüksek frekanslı bileşenlerdeki değişiklikleri fark etmez, bu nedenle yüksek frekanslardan sorumlu katsayılar daha az doğrulukla saklanabilir.

4. Matrislerin zikzak sıralaması. Bu, tek boyutlu bir dizi elde etmek için özel bir matris geçişidir. Önce T00 öğesi gelir, ardından T01, T10, T1 Ayrıca, tipik fotogerçekçi görüntüler için, önce düşük frekans bileşenlerine karşılık gelen sıfır olmayan katsayılar ve sonra - birçok sıfır (yüksek frekans bileşenleri) olacaktır.

5. Önce RLE yöntemiyle, ardından Huffman yöntemiyle sıkıştırma.

Görüntü restorasyon algoritması ters sırada çalışır. 5 ila 100 veya daha fazla kez sıkıştırma oranı. Aynı zamanda, çoğu fotogerçekçi görüntü için görsel kalite, 15 kata kadar sıkıştırıldığında iyi bir seviyede kalır. Algoritma ve format, tam renkli görüntülerin aktarılması ve saklanması için en yaygın olanıdır.

Dalgacık dönüşümü sinyaller, klasik Fourier dönüşümünün bir genellemesidir. İngilizce'den çevrilen "dalgacık" terimi "küçük (kısa) dalga" anlamına gelir. Dalgacıklar, zaman ve frekansta yerel olan ve tüm fonksiyonların zaman ekseni boyunca kaymaları ve uzamalarıyla tek bir temelden elde edildiği belirli bir formun matematiksel fonksiyon ailelerinin genelleştirilmiş bir adıdır.

Kayıplı sıkıştırma algoritmalarında, kural olarak, sıkıştırma hattının tüm işlemleri korunur ve ayrık Fourier dönüşümünü ayrık dalgacık dönüşümüyle değiştirir. Dalgacık dönüşümleri çok iyi frekans-uzaysal lokalizasyona sahiptir ve bu göstergede geleneksel Fourier dönüşümlerinden üstündür. Bu, daha sonraki sıkıştırma için dizinin özelliklerini geliştirerek daha güçlü nicemlemenin uygulanmasını mümkün kılar. Bu dönüşüme dayanan görüntü sıkıştırma algoritmaları, aynı sıkıştırma oranında, görüntü kalitesini korumada daha iyi sonuçlar verir.

Edebiyat

46. ​​​​ve diğerleri Dijital görüntü işlemede hızlı algoritmalar. - M.: Radyo ve iletişim, 1984 .-- 224 s.

47. Soifer görüntü işleme. Bölüm 2. Yöntemler ve algoritmalar. - Soros Eğitim Dergisi No. 3, 1996.

48., Sıra istatistiklerini kullanan doğrusal olmayan algoritmalara dayalı görüntülerden kıkırdak gürültüsü. - Yaroslavl Devlet Üniversitesi, 2007.

49. Andreev televizyon gözetim sistemleri. Bölüm II. Aritmetik - mantıksal temeller ve algoritmalar. öğretici. - SPb: SPb, GUITMO, 2005 .-- 88p.

51. Dijital sinyal işlemeye giriş (Matematiksel temeller) .- M.: Moskova Devlet Üniversitesi, Bilgisayar grafikleri ve multimedya Laboratuvarı, 2002. - http: // pv. ***** / dsp / dspcourse. pdf, http://dsp-kitap. ***** / dspcourse. djvu, http://geogin. ***** / arhiv / dsp / dsp4.pdf.

1i. ve raster grafiklerin diğer Algoritmik temelleri. - İnternet Bilişim Teknolojileri Üniversitesi. - http://www. ***** / git / kurs / rastrgraf /

2i. Lukin - elektronik sistemler: Ders notları. ITMO, 2004. - St. Petersburg, ITMO IFF, 2004. - http: // iff. ***** / kons / oes / KL. htm

Fark edilen hatalar ve ekleme önerileri hakkında: ***** @ *** ru.

Telif hakkı© 2008DavydovA.V.

1 numaralı laboratuvar çalışması

Görüntü işleme algoritmaları

evrişim işlemi

Evrişim, hem görüntü ön işleme hem de nesne tanıma ve tanımlama için kullanılabilen çok yaygın bir algoritmadır. Görüntünün iki boyutlu bir parlaklık matrisi ile belirtilmesine izin verin F" ve matris tarafından dürtü yanıtı H... Bir matrisin matematiksel evrişimi Fçekirdekli H aşağıdaki formülle belirlenebilir:

nerede M2xN2 - evrişim çekirdek matrisinin boyutu. matris boyutu F(M1 + M2-1) x (N1 + N2-1)'e eşittir, burada M1xN1 - orijinal matrisin boyutu F" ... Matris F matrisin kenarlarına bazı kurallara göre elemanların eklenmesiyle orijinal olandan, istenen boyuta getirmek için elde edilir. Genellikle orijinal matris, matrisin genişliğinin yarısı için kenarlarda sıfırlarla doldurulur. H sola ve sağa ve sırasıyla yüksekliğin yarısı yukarı ve aynı aşağı. Daha sonra elde edilen matrisin boyutu r matris ile aynı olacak F" .

Evrişim, yukarıda gösterildiği gibi, bir matrisi diğerinin üzerinde "çalıştırarak" doğrudan hesaplanabilir. İncirde. 1, evrişim hesaplama şemasını gösterir (maske matrisinin boyutu 3x3'e eşit alınır). Evrişim operatörü, seçilen görüntü parçası ile eleman bazında çarpılan ve daha sonra filtrelenmiş görüntünün elemanının yeni değerini elde etmek için toplanan bir katsayılar (maskeler) matrisi olarak görülebilir. Bu matris herhangi bir boyutta olabilir, kare olması gerekmez.

Pirinç. 1. Evrişim işleminin uygulanması.

Egzersiz yapmak

    Bir matris maskesi ile orijinal görüntünün evrişim işlemini gerçekleştiren bir algoritma uygulayın.

    Matris maskesinin boyutu ve türü kullanıcı tarafından belirlenir.

    Çeşitli görüntü işleme algoritmalarını uygulamak için aşağıdaki maske matrislerini kullanın:

    • görüntüdeki paraziti yumuşatmak ve bastırmak için aşağıdaki biçimde bir 3x3 matris maskesi kullanın:

    ana hatları vurgulamak için aşağıdaki tipte matris maskeleri kullanılır:

1/9*

    ana hatları seçmek için aşağıdaki tipte bir maske kullanılır:

4. Nokta ve darbe gürültüsünü bastırmak için kullanılan bir medyan filtresi uygulayın. Görüntünün pikseli ve göz önünde bulundurulan alandaki komşuları bir varyasyon serisinde (artan veya azalan piksel değerlerinde) sıralanır ve bu varyasyon serisinin merkezi değeri yeni bir piksel değeri olarak seçilir. Ortalamalı filtrelemenin sonucu, görüntüde bulunan herhangi bir rastgele gürültünün etkin bir şekilde ortadan kaldırılmasıdır. Bunun nedeni, ilgilenilen alan içindeki piksel yoğunluğundaki herhangi bir rastgele ani değişikliğin sıralanmasıdır, yani. elemanların yeni değeri için her zaman merkez değer alındığından, bu alanın sıralanan değerlerinin ya üstüne ya da altına yerleştirilecek ve sayılmayacaktır.

5. Bir kabartma algoritması uygulayın. Kabartma, ortalama alma veya altı çizili kontur algoritmalarıyla aynı şekilde yapılır. Görüntüdeki her piksel, 3x3 kabartma matrisi tarafından işlenir. Örneğin, aşağıdaki matris maskesi kabartma çekirdeği olarak alınabilir:

Piksel değeri kabartma çekirdeği tarafından işlendikten sonra, buna 128 eklenir.Bu, arka plan piksel değerini orta gri yapar (kırmızı = 128, yeşil = 128, mavi = 128). 255'in üzerindeki tutarlar 255'e yuvarlanabilir.

Resmin kabartmalı versiyonunda, ana hatlar yüzeyin üzerinde ekstrüde edilmiş gibi görünüyor. Çekirdekteki 1 ve -1 konumları değiştirilerek görüntü aydınlatmasının yönü değiştirilebilir. Örneğin, 1 ve -1 değerleri değiştirilirse, aydınlatma yönü tersine çevrilir.

6. Resmin suyla renklendirilmesi. Suluboya filtresi görüntüyü dönüştürür ve işlendikten sonra suluboya ile boyanmış gibi görünür:

    Sulu boya filtresi uygulamadaki ilk adım, görüntüdeki renkleri yumuşatmaktır. Kenar yumuşatma yöntemlerinden biri, her noktada bir ortanca renk ortalaması uygulamaktır. Her pikselin ve 24 komşusunun renk değeri (matris maskesinin boyutu 5x5'tir) azalan veya artan düzende bir dizi varyasyonda düzenlenir. Varyasyon serisindeki medyan (on üçüncü) renk değeri, merkez piksele atanır.

    renkleri yumuşattıktan sonra, renk geçişlerinin sınırlarını vurgulamak için bir alt çizgi filtresi uygulamanız gerekir.

görüntülerin temsili

İki ana görüntü temsili türü vardır - vektör ve raster.

Vektör gösteriminde görüntü, başlangıç ​​ve bitiş noktalarının koordinatlarını, çizgilerin eğriliğini ve diğer geometrik özellikleri içeren bir dizi çizgi (vektörler) ile tanımlanır, ayrıca çeşitli alanların oluşturulması için kurallar ve renk özellikleri de açıklanır. Başka bir deyişle, bir raster gösterimi için belirli bir matematiksel model oluşturmak gerekir. Bu nedenle, vektör gösterimi esas olarak görüntü sentezi problemlerini çözmek için kullanılır. Bazı görüntü tanıma algoritmaları, çalışmaları için tam olarak orijinal görüntüden elde edilmesi gereken vektör temsilini gerektirse de.

Bir raster görüntü, belirli bir Kartezyen koordinat ızgarasında görüntü özelliklerinin uzamsal dağılımını tanımlayan bir veya daha fazla matristir. Bu durumda görüntü birçok noktadan oluşturulur ve raster bir yapıya sahiptir. Raster görüntü gösteriminin ana unsuru, raster koordinat sisteminde koordinatları ve bazı nitelikleri (renk, parlaklık, şeffaflık vb.) X ve Y koordinatlarındaki (yatay ve dikey) piksel sayısı, görüntü temsilinin çözünürlüğünü (boyutunu) belirler. Piksel rengi derinlikle belirlenir - herhangi bir rengi belirtmek için gereken bit sayısı.

Piksel rengini ayarlama yöntemlerine ve orijinal görüntünün özelliklerine bağlı olarak raster görüntüler şu şekilde ayrılır:

İkili

Yarım ton

palet

Tüm renkler

İkili gösterimde, bir pikselin rengi beyaz veya siyah olabilir ve bir bit olarak kodlanır. Görüntü bir matristir. Bu matrisin her elemanı I (i, j), 0 veya 1 değerine sahiptir, burada i satır numarasıdır ve verilen piksele karşılık gelen elemanın j sütun numarasıdır (Şekil 1).

Gri tonlamalı görüntülerde pikseller, gri tonlamalı parlaklık değerlerini temsil eder. Gri tonlamalı bir görüntüyü tanımlayan matris endeksleri, pikselin raster üzerindeki konumunu ve matris öğesinin değerini belirtir.

- parlaklığını ayarlar I (i, j) (Şek. 2).

Palet görüntüleri iki matrisle tanımlanır (Şekil 3). Biri, palet matrisinin satırına referansı belirten indekslerin değerlerini saklar. Palet matrisi bir renk haritasıdır. Kırmızı "R", yeşil "G" ve mavi "B" renklerine karşılık gelen 3 grup sütun içerir. Ayrıca ilgili pikselin rengini de ayarlarlar.

Palet, Nc'nin renk sayısı olduğu bir Nc 3 matrisidir.

Görüntü ön işleme algoritmaları

Tam renkli görüntüler RGB formatında oluşturulur ve R (i, j), G (i, j), B (i, j) olmak üzere üç matrisi temsil eder. Her matrisin karşılık gelen öğeleri, matris endeksleri tarafından belirtilen piksel için kırmızı, yeşil ve mavi renklerin yoğunluklarının değerlerini içerir. Bu nedenle, tam renkli bir görüntünün bir renk haritası yoktur ve her pikselin rengi, karşılık gelen matrislerden alınan üç sayı ile temsil edilir (Şekil 4).

Matrislerdeki sayıların formatı tamsayı veya kayan nokta olabilir. İlk durum, çeşitli cihazlar - tarayıcılar, dijital kameralar, televizyon kameraları vb. kullanılarak elde edilen sayısallaştırılmış görüntülere atıfta bulunur. Bu formatta, görüntülerle ilgili bilgiler standart grafik dosyalarında saklanır.

İkinci seçenek, işlenmeleri sırasında görüntülerin dahili temsili için kullanılır. Bu durumda, yoğunluk verilerini bir aralığa, örneğin bir aralığa normalleştirmek ve kayan sayılarla çeşitli hesaplamalar yapmak ve ardından sonucu orijinal tamsayı formuna dönüştürmek uygundur. Bu yöntem, hesaplama hatalarını azaltmanıza ve işleme sonucunun doğruluğunu artırmanıza olanak tanır.

Tam renkli görüntüler için bir parametre, o formatta temsil edilebilecek maksimum renk sayısıdır. En sık kullanılan görseller 16, 256, 65536 (Yüksek Renk) ve 10,7 milyon (Gerçek Renk) renge sahiptir.

Görüntü ön işleme algoritmaları

0 0 0 0 1 1 1 0 0

120 122 125 128 115 117 118

1 0 0 0 1 1 1 1 0

119 121 124 125 128 130 133

1 1 0 0 1 1 0 0 1

122 122 124 123 127 126 128

120 121 123 125 127 125 126

1 1 1 0 1 1 0 0 0

118 110 109 108 108 109 110

0 0 1 0 0 1 0 0 1

Görüntü ön işleme algoritmaları

Endeks Matrisi

31 15 03 09

palet matrisi

Görüntü ön işleme algoritmaları

Tam renkli bir görüntü yalnızca RGB formatında değil, diğer renk sistemleri kullanılarak da gösterilebilir.

HSB sisteminde renk, aşağıdaki renk özellikleriyle temsil edilir: Ton - ton;

Doygunluk - doygunluk; Parlaklık - parlaklık.

Bu renk sisteminin, insanın renk algısının özelliklerine karşılık geldiğine inanılmaktadır.

LAB sisteminde renk, bir pikselin gerçek rengini belirleyen hafiflik ve iki bağımsız kromatiklik değerinin birleşimi olarak kabul edilir. Chroma A - macentadan yeşile bir renk seçer. Kromatiklik B - ikinci renk bileşeni sarıdan camgöbeğine kadar olan aralıktan seçilir.

Renkleri temsil etmek için başka sistemler de vardır. Doğal olarak, hepsi birbiriyle ilişkilidir ve bir temsilden bir diğeri elde edilebilir. Renk sistemlerinin çeşitliliği, yardımlarıyla çözülen görevlerden kaynaklanmaktadır. Örneğin, LAB sisteminde renk düzeltmesi yapmak, RGB sisteminde monitör ekranındaki görüntüyü çoğaltmak, daha iyi yazdırmak, daha iyi yazdırmak,

Görüntü ön işleme algoritmaları

CMYK gösterimini kullanarak. Bununla birlikte, her durumda, görüntüleri işlerken ve onları tanırken, bir veya daha fazla matris içeren görüntülerin raster temsili ile çalışırlar.

Ön işleme algoritmalarının sınıflandırılması

Görüntü önişleme algoritmaları, sınıflandırma özelliğine göre farklı gruplara ayrılacaktır. Tüm ön işleme algoritmaları, bir anlamda görüntülerin kalitesini iyileştirmeli veya sonraki işlemler için en uygun forma dönüştürmelidir.

Bir görüntünün renk üretimini iyileştirmeyi amaçlayan algoritmalara renk düzeltme algoritmaları denir. Bu grup, parlaklık ve kontrast özelliklerini değiştiren yarı tonlu görüntülerle çalışan algoritmaları da içerir.

Görüntülerin uzamsal özelliklerini işlemeyi amaçlayan algoritmalara algoritma denir. uzaysal filtreleme Bu grup, girişimin bastırılması için algoritmalar, uzamsal yumuşatma ve uzamsal kazanç algoritmaları için algoritmalar, uzamsal frekansların bastırılması ve yükseltilmesi için algoritmalar içerir.

Bir görüntü üzerinde geometrik işlemler yapan algoritmalara ne ad verilir? geometrik işleme algoritmaları... Bunlar şunları içerir:

Görüntü ön işleme algoritmaları

Bir görüntüyü kırpma - dikdörtgen şeklin belirli bir bölümünün orijinal görüntüsünden seçim;

Resmi yeniden boyutlandırın. Bu algoritmalar, büyütülmüş görüntüdeki eksik piksellerin doğru şekilde doldurulmasına veya görüntü küçültüldüğünde piksel değerlerinin yeniden hesaplanmasına izin veren çeşitli enterpolasyon yöntemlerini kullanır.

Resmi döndürün. Bu algoritmalar, orijinal görüntüyü belirli bir açıyla döndürür ve çeşitli enterpolasyon yöntemlerini kullanarak piksel değerlerini doğru şekilde yeniden hesaplar.

Bir renk sisteminden diğerine dönüşümler gerçekleştiren algoritmalara ne ad verilir? renk dönüştürme algoritmaları... Ayrıca, renkli görüntüleri gri tonlamaya dönüştürmek için algoritmalar ve orijinal görüntüyü ikili bir görüntüye dönüştüren ikilileştirme algoritmaları içerir.

Orijinal görüntüdeki bazı alanları çeşitli, genellikle resmi olmayan koşullara göre vurgulayan algoritmalara segmentasyon algoritmaları denir. Böyle bir algoritmanın bir örneği, örneğin, bir belge görüntüsü üzerindeki metin ve grafik bilgilerinin alanlarını seçmesi gereken bir algoritma veya bir metin görüntüsünde tek tek kelimelere atıfta bulunan alanları seçen bir algoritma olabilir.

Görüntü ön işleme algoritmaları

Mekansal filtreleme algoritmaları

Bir görüntünün matematiksel biçimde uzamsal filtrelemesi, uzamsal filtrenin bir miktar dürtü yanıtı ile ayrık bir görüntünün ayrı bir evrişimidir.

(i, j) ise

Im (i m, j n) h (m, n), burada:

m N11 n N21

Im, Orijinal ve filtrelenmiş görüntülerin matrisleri ise, filtrenin dürtü yanıtının h matrisi,

N 11, N 21, dürtü yanıtı sütunlarının alt ve üst sınırları, N 12, N 22, dürtü yanıtı satırlarının sol ve sağ sınırlarıdır.

Darbe yanıt matrisi, belirtilen parametrelere dayalı uzaysal filtre hesaplanarak elde edilebilir. Örneğin, sayısal filtrelemeye ayrılmış büyük miktarda literatür, uzamsal filtreleri hesaplama yöntemlerine ayrılmıştır. Pratik hesaplamalar için standart matematiksel paketleri kullanabilirsiniz, örneğin “MATLAB” sistemi “Image Filter Design” filtre hesaplama sistemini içerir.

Filtrelemenin frekans alanında da gerçekleştirilebileceğini unutmayın. Şöyle

Görüntü ön işleme algoritmaları

Bu durumda, filtreleme sırası aşağıdaki gibidir:

2B ayrık Fourier dönüşümü kullanarak bir görüntüyü uzamsal alandan frekans alanına dönüştürün

Filtrenin frekans matrisi ile görüntünün frekans matrisinin eleman bazında çarpımını gerçekleştirin

Elde edilen sonucu, ters iki boyutlu ayrık Fourier dönüşümünü kullanarak bir uzaysal alana dönüştürün.

ben (x, y)

ben (f x, f y)

Eğer (f x, f y) Im (f x, f y) H (f x, f y)

Eğer (fx, fy)

(x, y) ise.

Frekans alanındaki görüntüleri filtrelemek, büyük miktarda hesaplama nedeniyle nadiren kullanılır. Bununla birlikte, bu filtreleme yöntemi, görüntü işleme seçeneklerini analiz ederken teorik hesaplamalarda yaygın olarak kullanılmaktadır. Ne tür bir filtrelemenin gerekli olduğunu net bir şekilde görselleştirmenizi sağlar. Örneğin, görüntüdeki parlaklıktaki keskin değişiklikleri vurgulamanız gerekiyorsa, yüksek geçiren filtreler kullanmanız gerektiği açıktır. Aksine, düşük frekanslı gürültüden - titreyen döngülerden, bireysel dalgalanmalardan vb. kurtulmanız gerekiyorsa, o zaman alçak geçiren filtreler kullanmanız gerekir. Özel filtre parametreleri, parazitin frekans analizine ve orijinal görüntünün özelliklerine göre seçilir.