• Uzamsal alanda doğrusal filtreleme. Görüntü filtreleme görevi

    Bu makale yalnızca en yaygın görüntü işleme filtrelerinden bahsetmekle kalmıyor, aynı zamanda çalışmaları için algoritmaları anlaşılır bir şekilde açıklıyor. Makale, öncelikle görüntü işleme ile ilgili programcıları hedeflemektedir.

    Evrişim matrisi

    Evrişim matrisini kullanan birçok filtre vardır, başlıcaları aşağıda açıklanacaktır.

    Evrişim matrisi, istenen sonucu elde etmek için görüntünün piksel değeriyle "çarpılan" bir katsayılar matrisidir.
    Evrişim matrisinin uygulaması aşağıdadır:

    div, normalleştirme faktörüdür ortalama yoğunluk değişmeden kaldı.

    Örnekte, boyut daha büyük olabilmesine rağmen matrisin boyutu 3x3'tür.

    bulanıklık filtresi

    Evrişim matrisine dayalı en yaygın kullanılan filtre, bulanıklık filtresidir.

    Genellikle matris normal (Gauss) yasasına göre doldurulur. Aşağıda, Gauss dağılımı yasasına göre doldurulmuş 5x5 bulanıklık matrisi bulunmaktadır.


    Katsayılar zaten normalize edilmiştir, bu nedenle bu matris için div birdir.

    Bulanıklığın gücü matrisin boyutuna bağlıdır.


    Sınır koşullarından bahsetmeye değer (bu problem tüm matris filtreler için geçerlidir). Sol üst pikselin sağında bir "komşusu" yoktur, bu nedenle matrisin katsayısını çarpacak hiçbir şeyimiz yoktur.

    Bu sorunun 2 çözümü var:

    1. Filtreyi yalnızca görüntünün sol koordinatlarına sahip "penceresine" uygulamak üst köşe ve sağ alt için . kernelSize - matris boyutu; genişlik, yükseklik - görüntü boyutu.

    Değil En iyi yol, çünkü filtre görüntünün tamamına uygulanmaz. Filtre boyutu büyükse kalite oldukça fazla etkilenir.

    2. İkinci yöntem, bir ara görüntünün oluşturulmasını gerektirir. Fikir, boyutlarla (genişlik + 2 * kernelSize / 2, yükseklik + 2 * kernelSize / 2) geçici bir görüntü oluşturmaktır. Giriş görüntüsü görüntünün merkezine kopyalanır ve kenarlar görüntünün uç pikselleriyle doldurulur. Bulanıklaştırma, ara tampona uygulanır ve ardından sonuç bundan çıkarılır.


    Bu yöntemin kalite açısından herhangi bir dezavantajı yoktur, ancak ekstra hesaplamalar yapmak gerekir.

    Gauss bulanıklaştırma filtresi O(hi * wi * n *n) karmaşıklığına sahiptir; burada hi, wi görüntü boyutlarıdır, n matrisin boyutudur (filtre çekirdeği). Bu algoritma kabul edilebilir kalitede optimize edilebilir.

    Kare çekirdek (matris), iki tek boyutlu olanla değiştirilebilir: yatay ve dikey. 5 çekirdek boyutu için şöyle görüneceklerdir:

    Filtre 2 geçişte uygulanır: önce yatay, sonra sonuca göre dikey (veya tam tersi).

    karmaşıklık bu algoritma O(hi * wi * n) + O(hi * wi * n) = 2 * O(hi * wi * n) olacaktır, bu ikiden büyük bir çekirdek boyutu için geleneksel kare matris yönteminden daha hızlıdır.

    Netlik iyileştirme filtresi

    Netliği artırmak için aşağıdaki matris kullanılmalıdır:

    Bu matris, sınırlardaki değer farkını arttırır. Bu matris için div 1'dir.


    GIMP, ihtiyacınız olan matris dönüşümünü bulmanızı kolaylaştıran bir Evrişim Matrisi filtresine sahiptir.

    Daha detaylı bilgi evrişim matrisine dayalı filtreler hakkında, "Büküm matrisine dayalı grafik filtreler" makalesinde bulabilirsiniz.

    medyan filtre

    Medyan filtre tipik olarak gürültüyü azaltmak veya görüntüyü "yumuşatmak" için kullanılır.

    Filtre matrislerle çalışır farklı boyut, ancak evrişim matrisinin aksine, matrisin boyutu yalnızca dikkate alınan piksel sayısını etkiler.

    Medyan filtre algoritması aşağıdaki gibidir:

    Geçerli piksel için, matrise "düşen" pikseller sıralanır ve sıralanan diziden ortalama değer alınır. Bu değer, geçerli pikselin çıktısıdır.

    Aşağıda, üç çekirdek boyutu için medyan filtrenin çalışması verilmiştir.


    Biriktirme ve aşındırma filtreleri, sırasıyla morfolojik genişleme veya daralma elde etmeye yarar. Basitçe söylemek gerekirse, görüntüler için bu, mahalleden maksimum veya minimum yoğunluğa sahip bir piksel seçmek anlamına gelir.


    Birikme sonucunda parlak nesneler artar ve erozyon karanlık nesnelerin artmasına neden olur.

    Filtre kullanımları giriş görüntüsü ve bir ikili matris. İkili matris, komşuluğun şeklini belirler. Mahalle genellikle yuvarlak şeklindedir.

    Oluşturma filtresi, vurguları ve parlak yansımaları artırmak için kullanılabilir.

    Çözüm

    Makale, bazı görüntü işleme filtrelerini, bunların algoritmalarını ve uygulama özelliklerini açıkladı.

    Görüntü filtreleme, orijinal görüntüden bazı kurallara göre elde edilen aynı boyutta görüntü elde edilmesi işlemidir. Tipik olarak, ortaya çıkan görüntüdeki her bir pikselin yoğunluğu (rengi), orijinal görüntüdeki bazı komşuluklarında bulunan piksellerin yoğunlukları (renkleri) tarafından belirlenir.

    Filtreleme kuralları çok çeşitli olabilir. Görüntü filtreleme en temel işlemlerden biridir Bilgisayar görüşü, örüntü tanıma ve görüntü işleme. Görüntü işleme yöntemlerinin büyük çoğunluğu, orijinal görüntülerin şu veya bu şekilde filtrelenmesiyle başlar.

    Hat filtreleri çok basit bir matematiksel açıklaması var. Orijinal yarı tonlu görüntü A'nın verildiğini varsayacağız ve piksellerinin yoğunluklarını A(x, y) ile göstereceğiz. Doğrusal bir filtre, raster üzerinde tanımlanan gerçek değerli bir h işlevi (filtre çekirdeği) tarafından tanımlanır. Filtrelemenin kendisi, ayrı 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ç, görüntü B'dir. Genellikle, filtre çekirdeği yalnızca (0, 0) noktasının N komşuluğunda sıfır değildir. Bu komşuluğun dışında, h(i, j) sıfıra eşittir veya sıfıra çok yakındır ve ihmal edilebilir. Toplama (i, j)  N üzerindedir ve her bir 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 ( gösterim, N(x, y) ) kümesidir. Dikdörtgen bir N mahallesinde tanımlanan bir filtre çekirdeği, kenar uzunluklarının tek sayılar olduğu bir m'ye n matrisi olarak düşünülebilir. Çekirdeği matris olarak belirtirken ortalanmalıdır. Görüntünün kenarlarına bir piksel (x, y) yerleştirilmişse, A(x-i, y-j) koordinatları belirli bir (i, j) için 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 tür pikselleri filtrelemeyin.

    Kayıp pikseli h(i, j) ağırlığını N(x, y) komşuluğundaki diğer piksellere 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.

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

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

    Yumuşatma filtreleri. r yarıçaplı en basit dikdörtgen yumuşatma filtresi, tüm değerleri 1/(2r+1) 2 olan ve değerlerin toplamı olan bir (2r+1) × (2r+1) matrisi ile verilir. bir. Bu, düşük geçişli 1B U şeklindeki hareketli ortalama filtresinin 2B analoğudur. Böyle bir çekirdek ile filtreleme yaparken, piksel değeri, etrafındaki 2r+1 karedeki ortalama piksel değeri ile değiştirilir. 3×3 filtre maskesi örneği:

    .

    Filtre uygulamalarından biri 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ır olması koşuluyla, komşu piksellerin gürültüsü toplandığında birbirini yok edecektir. Filtreleme penceresi ne kadar büyük olursa, ortalama gürültü yoğunluğu o kadar düşük olur, ancak buna karşılık gelen önemli görüntü ayrıntılarında bulanıklık da meydana gelir. Filtreleme sırasında (tek bir darbeye tepki) siyah bir arka plan üzerinde beyaz bir noktanın görüntüsü, tek tip gri bir kare olacaktır.

    Dikdörtgen bir 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. Filtreyi merkez noktanın ağırlığındaki artışla değiştirerek biraz daha iyi bir sonuç elde edilir:

    .

    Piksellerin sonuç üzerindeki etkisi, işlenenden uzaklaştıkça azalırsa, daha etkili gürültü azaltma elde edilebilir. Bu özellik, çekirdeği olan bir Gauss filtresine sahiptir: h(i, j) = (1/2 2) exp(-(i 2 +j 2)/2   Gauss filtresinin sıfır olmayan bir değeri vardır. sonsuz büyüklükte çekirdek Ancak, (0, 0) noktasından uzaklaştıkça filtre çekirdeği değerleri çok hızlı bir şekilde sıfıra düşer ve bu nedenle pratikte kendimizi (0, 0, 0) civarında küçük bir pencere ile evrişimle sınırlayabiliriz. 0), örneğin, pencere yarıçapını 3σ'ya eşit alarak.

    Gauss filtrelemesi de yumuşatıyor. Bununla birlikte, dikdörtgen filtrenin aksine, Gauss filtreli bir noktanın görüntüsü, ortadan kenarlara doğru parlaklığı azalan simetrik bir bulanık nokta olacaktır. Görüntü bulanıklığının derecesi σ parametresi tarafından belirlenir.

    Kontrast filtreleri . Yumuşatma filtreleri görüntünün yerel kontrastını azaltır ve bulanıklaştırırsa, kontrast arttırıcı filtreler ters etki ve özünde, yüksek uzamsal frekansların filtreleridir. (0, 0)'daki destek filtresi çekirdeği, toplam değerlerin toplamı 1'e eşit olan 1'den büyük bir değere sahiptir. Örneğin, destek filtreleri, matrisler tarafından verilen bir çekirdeğe sahip filtrelerdir:

    . .

    Filtrenin uygulanmasına bir örnek, Şek. 17.3.1. Artan kontrast etkisi, filtrenin komşu piksellerin yoğunlukları arasındaki farkı vurgulaması ve bu yoğunlukları birbirinden kaldırması nedeniyle elde edilir. Bu etki, çekirdeğin merkezi teriminin değeri ne kadar büyük olursa o kadar güçlü olacaktır. Doğrusal kontrast iyileştirme filtrelemesinin karakteristik bir özelliği, fark edilir ışık ve kenarlarda daha az fark edilen koyu halelerdir.

    Fark filtreleri diferansiyel operatörlerin ayrık yaklaşımlarıyla (sonlu farklar yöntemiyle) tanımlanan doğrusal filtrelerdir. Bu filtreler oynuyor Önemli rol birçok uygulamada, örneğin bir görüntüde kenar bulma sorunları için.

    En basit diferansiyel operatör, sürekli fonksiyonlar için tanımlanan x türevi d/dx'tir. Ayrık görüntüler için benzer işleçlerin ortak değişkenleri, Prewitt ve Sobel filtreleridir:

    . .

    y-koordinatı d/dy'ye göre türev operatörüne yaklaşan filtreler, matrislerin transpoze edilmesiyle elde edilir.

    Üç bitişik nokta üzerinden gradyanın normunu hesaplamak için en basit algoritma:

    G(x, y) =
    .

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

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

    Sobel algoritması, merkezi noktanın yakınında sekiz parlaklık örneği kullanır:

    G(x, y) =
    , G(x, y) 
    ,

    Gx x , y = [ Bir x -1, y -1 +2 Bir x -1, y + Bir x -1, y +1 ] - [ Bir x +1, y -1 +2 Bir x +1, y + Bir x +1, y +1 ],

    Gy x,y = - .

    Sobel algoritması, gradyan normunun daha doğru bir tanımının yanı sıra, gradyan vektörünün yönünü, gradyan vektörü ile matris satırlarının yönü arasında bir  açısı şeklinde görüntü analiz düzleminde belirlemenize de olanak tanır:

    (x, y) = argtg(Gy x,y /Gx x,y).

    Ortalama görüntü yoğunluğunu değiştirmeyen yumuşatma ve kontrast arttırıcı filtrelerin aksine fark operatörlerinin uygulanması sonucunda kural olarak ortalama piksel değeri sıfıra yakın bir görüntü elde edilir. Orijinal görüntünün dikey damlaları (kenarlıkları), ortaya çıkan görüntüde büyük modulo değerlerine sahip piksellere karşılık gelir. Bu nedenle, fark filtrelerine nesne sınırı algılama filtreleri de denir.

    Yukarıdaki filtrelere benzer şekilde, diğer diferansiyel operatörler için filtreler oluşturmak için sonlu farklar yöntemi kullanılabilir. Özellikle, birçok uygulama için önemli olan diferansiyel Laplace operatörü (Laplacian) = 𝝏 2 /𝝏x 2 + 𝝏 2 /𝝏y 2, matrisli bir filtreyle (seçeneklerden biri) ayrık görüntüler için yaklaşık olarak hesaplanabilir. ):

    .

    Şek. 17.3.2, ayrık Laplacian'ın uygulanması sonucunda, mutlak değerdeki büyük değerler hem dikey hem de yatay parlaklık farklılıklarına karşılık gelir. Dolayısıyla bir filtre, herhangi bir yönelimin sınırlarını bulan bir filtredir. Bir görüntüdeki kenarları bulmak, bu filtre uygulanarak ve mutlak değeri belirli bir eşiği aşan tüm pikseller alınarak yapılabilir.

    Bununla birlikte, bu algoritmanın önemli dezavantajları vardır. Bunlardan en önemlisi, eşik değerinin seçilmesindeki belirsizliktir. Görüntünün farklı bölümleri için, genellikle önemli ölçüde farklı eşiklerde kabul edilebilir bir sonuç elde edilir. Ek olarak, diferansiyel filtreler görüntü gürültüsüne karşı çok hassastır.

    İki boyutlu döngüsel evrişim. 1D sinyallerde olduğu gibi, 2D konvolüsyon, FFT algoritmaları kullanılarak ve 2D görüntü spektrumları ve filtre çekirdeği çarpılarak uzamsal frekans alanında gerçekleştirilebilir. Aynı zamanda döngüseldir ve genellikle kayan bir versiyonda gerçekleştirilir. Çekirdek spektrumunun sabit modelini hesaplamak için döngüselliği hesaba katarak, çekirdek filtre maskesinin boyutları eksenler boyunca ikiye katlanır ve sıfırlarla doldurulur ve aynı maske boyutları, görüntü üzerinde kayan pencereyi vurgulamak için kullanılır. hangi FFT gerçekleştirilir. Bir FFT ile bir FIR filtresi uygulamak, filtrenin geniş bir referans alanına sahip olması durumunda özellikle verimlidir.

    Doğrusal Olmayan Filtreler . Sayısal görüntü işlemede, sıralama istatistiklerine dayalı doğrusal olmayan algoritmalar, çeşitli gürültü modellerinden zarar görmüş görüntüleri geri yüklemek için yaygın olarak kullanılır. Paraziti giderirken ek görüntü bozulmasını önlemenize ve ayrıca yüksek derecede parazitli görüntülerde filtrelerin sonuçlarını önemli ölçüde iyileştirmenize olanak tanırlar.

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

    B(x, y) = А(x, y) + (1-)m N . (17.3.2)

     katsayısının değeri, filtre penceresindeki örneklerin istatistiklerine belirli bir bağımlılıkla ilişkilidir, örneğin:

    d N /(d N + k d S), (17.3.3)

    burada d S, bir bütün olarak görüntüdeki veya S > M ve MS için S komşuluğundaki gürültü varyansıdır, k, S komşuluğunun varyansının güven sabitidir. Bu formülden şu şekilde k=1 ve d N  d S için   0,5 olur ve B(x, y) = (A(x, y) + m N)/2 yani merkezi örneğin değerlerinden ve M komşuluğunun piksellerinin ortalama değerinden eşit olarak eklenir. dN değerlerinin artmasıyla, merkezi referans değerinin sonucuna katkı, mN değerinin azalmasıyla artar. Ortalama değerlerin M-komşusu üzerindeki katkısının ağırlığı, k katsayısının değeri ile değiştirilebilir.

    İstatistiksel bir fonksiyonun seçimi ve  katsayısının buna bağımlılığının doğası oldukça çeşitli olabilir (örneğin, merkezi bir okuma ile M-komşuluğundaki okuma farklılıklarının varyansları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,  katsayısının değeri, merkezi numuneye verilen hasarın derecesini ve buna bağlı olarak M komşuluğundan numunelerin düzeltilmesi için ödünç alma işlevini belirtmelidir.

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

    eşik filtreleme örneğin aşağıdaki gibi verilir:

    B(x, y) =

    Değer P filtre eşiğidir. Filtrenin merkez noktasının değeri, M-yakınındaki numunelerin m N ortalama değerini eşik değeri kadar aşarsa, o zaman ortalama değerle değiştirilir. Eşik değeri, sabit veya işlevsel olarak merkezi noktanın değerine bağlı olabilir.

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

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

    onlar. 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 gürültüyü etkili bir şekilde kaldırabilir. Örneğin, bu tür parazitler, dijital çekim sırasında "kırık" pikseller, bazı piksellerin maksimum yoğunluğa sahip piksellerle değiştirildiği "kar" gürültüsü vb. Medyan filtrelemenin avantajı, karanlık bir arka plan üzerindeki "sıcak" bir pikselin, etrafa "bulaşmak" yerine koyu bir pikselle değiştirilmesidir.

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

    Aşırı Filtreler kurallarla belirlenir:

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

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

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

    Görüntü işlemenin çoğu, her yeni görüntü için tekrarlanmadan yapılabilir. istatistiksel analizönceki bölümde açıklanmıştır. Sınırlı miktarda a priori bilgi yeterlidir. "İdeal" bir görüntü için birlikte oluşum matrisini bildiğimizi ve bu görüntünün gürültülü versiyonunun kalitesini iyileştirmemiz gerektiğini varsayalım. Matrisin en büyük öğeleri ana köşegen üzerinde veya yakınında bulunuyorsa, bu, piksellerin çoğunun komşu piksellerle aynı renge sahip olduğu anlamına gelir. Böyle bir görüntünün histogramını eşitlemek istiyorsak, Sec. 3.2, kural 3'ün kullanılması tavsiye edilir. Gürültünün ortadan kaldırılması gerekiyorsa, gürültülü görüntünün her bir pikselinin değerini, komşu piksellerin değerlerinin bir miktar ağırlıklı toplamıyla değiştirmek, değerlerin değişkenliğini azaltacaktır. bitişik pikseller ve orijinaline daha yakın bir görüntü elde edeceğiz (bkz. örnek 3.5). Böylece, orijinal görüntü ile filtrelenmiş görüntü arasındaki ilişkiyi karakterize eden bir ilişkiye ulaşıyoruz:

    Bu işlemi gerçekleştiren işleme doğrusal filtre, özellikle hareketli ortalama filtresi denir, çünkü onu kullanırken her pikselin değeri, komşu öğelerinin değerlerinden bir tür ortalama ile değiştirilir. Görüntü içindeki ağırlık fonksiyonu değişmiyorsa ve x, y koordinatlarına bağlı değilse, denklem (3.2) aşağıdaki biçimde yeniden yazılabilir:

    Bu işleme uzamsal olarak değişmez filtre denir. Bu filtreler, zamansal sinyallerin işlenmesinde yaygın olarak kullanılmaktadır, ancak görüntü işlemede kullanımlarının uygunluğu açık değildir. Denklem (3.3) Fourier dönüşümü cinsinden yazıldığında sadeleştirilir. Gösterilebilir (bkz.

    Böyle bir filtre uygulamanın sonucu, H(u,

    Örnek 3.5. Görüntüyü yüksek frekanslı gürültüden temizlemek istiyorsanız, bu tür bir yumuşatma uygulamak için aşağıdaki işlev türünü kullanabilirsiniz.

    Filtre uygulama sonucu, komşu piksellerin filtreleme öncesi ve sonrası değerleri arasındaki fark karşılaştırılarak tahmin edilebilir.Özellikle en basit hesaplamalar şunu gösterir:

    Orijinal görüntünün bitişik piksellerinin değerleri arasındaki mutlak farkın maksimumunu ve filtrelenmiş görüntünün piksellerinin karşılık gelen farkını belirtirsek, o zaman denklemden (36) şunu takip eder:

    onlar. bu farkın büyüyemeyeceği açıktır. biraz varken doğrusal fonksiyon Aksi takdirde, belirtilen fark azalacak ve görüntü alanları daha homojen hale gelecektir. Genellikle bu kadar basit bir filtrenin kullanımı gürültüyü gidermek için yetersiz kaldığından, daha yüksek dereceli bir filtreye başvurmak gerekir. bir filtre seçmektir basit filtre ve bunun görüntüye çoklu uygulanması Şekil 39 ve 310, Şekillerdeki filtrelemenin sonuçlarını göstermektedir. Şekil 3.10a, Şekil 3-9'da gösterilen görüntüden elde edilen orijinal görüntüyü, Şekil 2'deki Gauss beyaz gürültüsünün üzerine bindirilerek gösterir. 3.10b, denklem (3 5) ile verilen filtrenin sekiz kez uygulanmasının sonuçlarını göstermektedir.Bu işlemin sadece yüksek frekanslı gürültüyü ortadan kaldırmakla kalmayıp aynı zamanda görüntü kenarlarının bulanıklaşmasına da neden olduğunu görmek zor değildir.

    Pirinç. 3.9 (bkz. tarama) Aşağıdakiler için kullanılan orijinal görüntü...

    Aslında, denklemi (3.6) görüntünün iyi tanımlanmış bir kenarına uygularsak

    o zaman ortaya çıkıyor

    Yani bitişik piksellerin değerleri arasındaki fark yarı yarıya azaldı ve bu da doğal olarak görüntü kontrastında azalmaya yol açtı.

    Bu filtreyi uygulamanın sonuçları, fonksiyonun Fourier dönüşümü dikkate alınarak da tahmin edilebilir.

    Denklem (34) kullanıyoruz

    Bu ifade, kimlik kullanılarak basitleştirilebilir

    ve ardından en basit trigonometrik dönüşümleri gerçekleştirerek sonuç olarak (3 8) ifadesi aşağıdaki formu alır

    Birçok görüntü geliştirme yaklaşımı iki kategoriye ayrılır: uzamsal alan işleme teknikleri (uzaysal yöntemler) ve frekans alanı işleme teknikleri (frekans yöntemleri). Uzamsal alan, bir görüntüyü oluşturan piksellerin toplamını ifade eder. Uzamsal alandaki ön işleme işlevi şu şekilde yazılır:

    Nerede F(X, y) giriş görüntüsüdür,

    G(X, y) – çıktı (işlenmiş) görüntü,

    H- işlev operatörü F, bazı alanda tanımlanmış ( X, y).

    Bu tür işlemler genel sınıfa aittir. komşu elemanlar üzerinde işlemler. Bu işlemler için ana araçlardır düşük seviyeli görüntü işleme veya Uzamsal alanda görüntülerin işlenmesi.

    Noktanın komşuluğunu belirlemede temel yaklaşım ( X, y), bir noktada () merkezli bir görüntünün bir bölümünün kare veya dikdörtgen bir bölgesini kullanmaktır. X, y). Görüntünün bu bölümünün merkezi, örneğin sol üst köşeden başlayarak pikselden piksele hareket eder. Ancak elde etmek için G(X, y) operatörü her pozisyon için uygulanır ( X, y). Bazen diğer komşuluk şekilleri (daire gibi) kullanılsa da uygulama kolaylığı nedeniyle kare şekiller tercih edilir.

    En çok kullanılan uzamsal alan yöntemlerinden biri, filtrelerin (evrişim maskeleri, desenler, pencereler) kullanımına dayanmaktadır. Tipik olarak, bir filtre maskesi, katsayıları belirli bir görüntü özelliğini algılayacak şekilde seçilen küçük (örneğin, boyut 3 * 3) iki boyutlu bir sistemdir (Şekil 1.5, a).

    Pirinç. 1.5: a – filtre maskesi; b – filtre maskesi katsayıları

    Eğer miktarlar w 1 ,w 2 ,…,w 9 katsayılardır, piksel maskeleri ( X, y) ve sekiz komşusu (Şekil 1.5, b), o zaman algoritma, 3 * 3 noktalı bir komşulukta aşağıdaki işlemi gerçekleştirirken gösterilebilir. (X, y) :

    Geniş anlamda görüntü filtreleme sorunu, prosedürün girdisinin belirli olduğu herhangi bir görüntü işleme prosedürü olarak anlaşılmaktadır. bit eşlem ve çıktı bir bit eşlemdir. Bununla birlikte, daha sık olarak, "filtreleme", sözde olarak anlaşılır. parazit yapmak filtreleme. Gürültü filtrelemenin temel amacı, görüntüleri belirli bir uygulama için daha uygun olacak şekilde işlemektir. Genel olarak ayırt edilebilir hat filtreleri(yumuşatma filtreleri, kontrast geliştirme filtreleri, fark filtreleri) ve doğrusal olmayan filtreler(ortanca filtre).

    İşte en yaygın filtreleme yöntemlerinin kısa bir açıklaması.

    alçak geçiş filtresi– yüksek frekanslı bileşenleri zayıflatır ve düşük frekanslı bileşenlerin rolünü artırır. Görüntülere uygulanan frekans, bir görüntüde bulunan ayrıntı miktarını yansıtır. Parlaklık, dağınıklık ve gürültüdeki keskin değişiklikler, bir görüntüdeki yüksek frekanslı öğelere örnektir. Görüntü yumuşatma, aşağıdaki çekirdekler kullanılarak gerçekleştirilir:

    ,

    ,

    .

    Yüksek geçiren filtre– görüntüdeki düşük frekanslı bileşenleri zayıflatır ve yüksek frekanslı bileşenlerin rolünü geliştirir. Ana hatlar, kenarlıklar gibi ayrıntıları geliştirmek veya bir görüntüyü keskinleştirmek için yüksek geçişli filtreler kullanılır. Parlaklıktaki her sıçrama ve her kontur, artan frekanslarla ilişkilendirilen yoğun bir ayrıntıdır. Yüksek frekanslı bileşenlerin seçimi, aşağıdaki çekirdekler kullanılarak gerçekleştirilir:

    ,

    ,

    .

    Roberts operatörü. Roberts operatörü, doğrusal olmayan bir filtre örneğidir. Her pikselin çapraz Roberts operatörü tarafından dönüştürülmesi, görüntünün türevini sıfır olmayan bir köşegen boyunca gösterebilir ve bu dönüştürülmüş görüntülerin kombinasyonu, üstteki iki pikselden alttaki ikiye doğru bir gradyan olarak da görülebilir. Roberts operatörü, hesaplama hızı uğruna kullanılır, ancak önemli bir gürültü duyarlılığı sorunu nedeniyle alternatiflerine kıyasla kaybeder. Diğer kenar algılama yöntemlerine göre daha ince çizgiler verir.

    İşleme, aşağıdaki gibi bulunan dört piksel içerir (Şekil 1.6).

    Pirinç. 1.6. Roberts operatörü tarafından işlemeye katılan pikseller

    Operatör Roberts yanıtı:

    Evrişim çekirdekleri bu durumşöyle görünecek:

    ,

    .

    Her çekirdek için evrişim ayrı ayrı hesaplanır. Bu filtrenin yanıtı değerdir.

    , (1.17)

    Nerede P Ve Q- çekirdeklerin tepkisi H 1 ve H 2 .

    Bazen miktar Roberts operatörü olarak alınır.
    .

    Sobel operatörü. Sobel operatörü, sınır algılama algoritmalarında kullanılır. Bu, görüntü parlaklık gradyanının yaklaşık değerini hesaplayan ayrık bir diferansiyel işlecidir. Sobel operatörünün görüntünün her noktasına uygulanmasının sonucu, ya o noktadaki parlaklık gradyanının vektörü ya da normudur. Sobel operatörünü kullanan kenar geliştirme yöntemi, iki farklı evrişim çekirdeğini dikkate alır:

    Bu konvolüsyonlara dayanarak, kenarların büyüklüğü ve yönü hesaplanır. Her çekirdek için evrişim ayrı ayrı hesaplanır. Bu filtrenin yanıtı değerdir.

    , (1.19)

    Nerede P Ve Q- çekirdeklerin tepkisi H 1 ve H 2 .

    Bazen miktar Sobel operatörü olarak alınır.
    .

    Prewit operatörü. Prewitt operatörü, Sobel operatörüne benzer şekilde davranır. Prewitt Edge Detector, bir sınırın büyüklüğünü ve yönünü tahmin etmek için uygun bir yöntemdir. Diferansiyel gradyan detektörü, dikey ve yatay yönlerdeki büyüklüklerden oryantasyon tahmininin zahmetli bir hesaplamasına ihtiyaç duyarken, Prewitt kenar detektörü, yönü maksimum sonuçla doğrudan çekirdekten verir. Prewitt operatörünü kullanan kenar geliştirme yöntemi, iki farklı evrişim çekirdeğini dikkate alır:

    Prewitt operatörünün çalışmasının sonucu

    , (1.21)

    Nerede P Ve Q- çekirdeklerin tepkisi H 1 ve H 2 .

    Laplace operatörü. Ayrık Laplace operatörü, kenar algılama veya hareket tahmini uygulamaları gibi görüntü işlemede sıklıkla kullanılır. Ayrık Laplace, ikinci türevlerin toplamı olarak tanımlanır ve merkezi pikselin komşuları üzerindeki damlaların toplamı olarak hesaplanır. Laplace kenar geliştirme yöntemi, bir dizi farklı evrişim çekirdeğini dikkate alır. Bunlardan bazıları:

    Gördüğünüz gibi, matris elemanlarının toplamı sıfıra eşittir, dolayısıyla filtre yanıtı negatif olabilir. Bu durumda yanıt değeri modulo olarak alınır. İşleme sonucunda, sabit veya doğrusal olarak artan yoğunluğa sahip alanlar siyah olur ve hızla değişen yoğunluk değerlerine sahip alanlar parlak bir şekilde vurgulanır.

    Aşağıda, evrişim kategorisine girmeyen ve ortadan kaldırmak için uygulanabilecek bazı uzamsal işlemler bulunmaktadır. farklı tür gürültü.

    Harmonik Ortalama Filtre. Bir serinin harmonik ortalaması
    formül ile hesaplanır

    . (1.23)

    Filtreleme işlemi sırasında, geçerli görüntü pikselinin değeri şu değerle değiştirilir:
    mevcut ve komşu olanlar dahil olmak üzere dokuz piksellik değer kümeleri.

    dak.- filtre. Filtreleme sırasında, mevcut pikselin değeri, komşu piksellerin minimum değeri ile değiştirilir. Örneğin, 3. boyuttaki bir çekirdek için şuna sahip olacağız:

    maks.- filtre. Filtreleme sırasında, mevcut pikselin değeri komşu piksellerin maksimum değeriyle değiştirilir (önceki filtreye benzer şekilde).

    dak.- maks.-filtre. Filtreleme işlemi sırasında görüntünün o anki pikselinin değeri önce komşu piksellerin minimum değeriyle, ikinci geçişte ise maksimum değeriyle değiştirilir.

    medyan filtre Ortalama filtreleme, yeni bir değer belirlemek için bitişik alanda bulunan öğelerin değerlerini kullanır. Filtre, bitişik öğeleri sıralayarak düzenler ve ortalama değeri alır. Örneğin, 3 boyutlu bir çekirdek için medyan değer beşinci olacaktır:

    Uzamsal görüntü işleme yöntemlerini kullanarak, bir dizi elde edilebilir ilginç efektler. Bunlardan bazılarına bir göz atalım.

    Kabartma etkisi. Evrişim işlemini kullanarak, görüntü üzerinde kabartma efekti veren bir dönüşüm uygulayabilirsiniz.

    (1.24)

    İkili "sözde gri tonlamalı" görüntü. Orijinal görüntü bir D2 veya D4 maskesi kullanılarak işlenir: piksel değeri karşılık gelen maske öğesinin orantılı değerinden küçükse, o zaman sıfıra ayarlanır, aksi takdirde ona 255 atanır.Maske, görüntüye olmadan uygulanır. örtüşmek. D2 ve D4 maskeleri:

    ,

    .

    Uzamsal süreçleri kullanırken, piksel işlemenin özellikleriyle ilgili olarak aşağıdaki sorular ortaya çıkabilir:

      Kenar etkilerinin ortadan kaldırılması;

      Yanıt değeri aralığın dışında.

    İlk soru için aşağıdaki çözümler mümkündür:

      Görüntünün kenarlık piksellerini dönüşümden hariç tut

    bu durumda çıktı görüntüsünün boyutu daha küçük olacaktır veya sınır piksellerinin üzerini örneğin siyahla boyayacaktır;

      Karşılık gelen pikseli, ağırlığını komşuluktaki diğer pikseller arasında eşit olarak dağıtarak toplama dahil etmeyin;

      Kenarlık boyunca gerekli sayıda piksel ekleyerek orijinal görüntüyü tamamlayın (tamamlayın). Oluşturulabilecek sütun sıralarının sayısı, kural olarak, çekirdeğin boyutuna bağlıdır. Burada iki seçenek vardır:

      • Ekstrapolasyon kullanarak görüntü sınırlarının dışındaki piksel değerlerini yeniden tanımlayın. Örneğin, sınır sabiti yakınında yoğunluk değerini düşünün veya sınır sabiti yakınında yoğunluk gradyanını düşünün;

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

    Sınırların ötesine geçen değerle ilgili sorunları çözmek için aşağıdaki eylemler mümkündür:

      Elde edilen değerleri pozitif filtre yanıtlarıyla ölçeklendirin;

      Filtre yanıtı negatifse, ya mutlak bir değer (modulo) alın ya da sıfıra götürün.

    Ayrıca bu bölümde, görüntüdeki gürültünün olası bir “sınıflandırmasını” vermeye değer:

      Gürültü "tuz ve biber" - rastgele beyaz ve siyah pikseller;

      Darbe gürültüsü - rastgele beyaz pikseller;

      Gauss gürültüsü - normal yasaya göre dağıtılan yoğunluk dalgalanmaları.

    Dipnot: Giriiş. Doğrusal filtreler: tanım, yumuşatma filtreleri, kontrast geliştirme filtreleri, fark filtreleri. Doğrusal Olmayan Filtreler: Örnek Yok lineer filtreler, morfolojik operatörler

    8.1. giriiş

    Bir sahneye tek gözle bakarak ona bir cam levha getirdiğimizi hayal edin. Bu plaka tamamen şeffaf olmasaydı, gözlemlenen görüntü değişirdi. Plakanın yapıldığı cama bağlı olarak değişiklik çok çeşitli olabilir. Örneğin, bu cam renkliyse, görüntü uygun gölgeyi elde edecek ve bulutlu camdan bulanıklaşacaktır.

    Görüntü filtreleme dünyaya bir cam levhanın arkasından bakmaya benzer, ancak farklı levhalarla yapılan deneylerden çok daha çeşitli efektler elde etmenizi sağlar. Görüntü filtreleme, orijinal görüntüden bazı kurallara göre elde edilen aynı boyutta görüntü elde edilmesi işlemidir. Tipik olarak, ortaya çıkan görüntüdeki her bir pikselin yoğunluğu (rengi), orijinal görüntüdeki bazı komşuluklarında bulunan piksellerin yoğunluklarından (renklerinden) kaynaklanmaktadır.

    Filtreleme kuralları (bunlara filtreler) çok farklı olabilir. Bu derste, en basit filtrelere bakacağız. Önerilen tanıma göre, iki veya daha fazla süzmenin art arda uygulanmasından oluşan bir işlemin de süzme olduğunu unutmayın. Böylece, söz edilebilir kompozit filtreler asal kombinasyonlara karşılık gelir. Bu derste ana filtre türlerini inceledikten sonra, sonraki derslerde bunlardan oluşan filtrelerin çeşitli problemlerin çözümünde kullanımına değineceğiz. Görüntü filtreleme, bilgisayarla görme, örüntü tanıma ve görüntü işlemenin en temel işlemlerinden biridir. Aslında, yöntemlerin büyük çoğunluğunun çalışması, kaynak görüntülerin şu veya bu şekilde filtrelenmesiyle başlar. Bu derste tartışılan filtreler, bu nedenle, uygulama açısından son derece önemlidir. çeşitli uygulamalar.

    8.2. Hat filtreleri

    Tanım

    (8.1)

    Sonuç, görüntü B'dir. Tanım (8.1)'de toplama sınırlarını çıkardık. Genellikle filtre çekirdeği, yalnızca (0, 0) noktasının N komşuluğunda sıfır değildir. Bu komşuluğun dışında, F(i, j) ya tam olarak sıfırdır ya da ihmal edilebilmesi için ona çok yakındır. (8.1)'deki toplama bitti ve her bir B(x, y) pikselinin değeri, (x, y) noktasında ortalanmış N penceresinde bulunan görüntü pikselleri A tarafından belirlenir (bu kümeyi N olarak göstereceğiz) (x, y) ) . Dikdörtgen bir komşuluk N üzerinde tanımlanan filtre çekirdeği, kenar uzunluklarının tek sayılar olduğu bir m'ye n matrisi olarak görüntülenebilir. Çekirdeği M kl matrisiyle belirtirken ortalanmalıdır:

    (8.2)

    Pikselin (x, y) görüntünün kenarlarına yakın olduğu durum da ek açıklamaya ihtiyaç duyar. Bu durumda, tanım (8.1)'deki A(x + i, y + j), A görüntüsünün dışında kalan bir A pikseline karşılık gelebilir. Bu sorun birkaç şekilde çözülebilir.

    • B görüntüsünü kenarlarından kırparak veya örneğin siyaha boyayarak bu tür pikselleri filtrelemeyin.
    • Karşılık gelen pikseli, F(i, j) ağırlığını 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. Örneğin, sınır sabitine yakın yoğunluk değerini göz önünde bulundurun (piksel (-2, 5) için A(-2, 5) = A(0, 5) elde ederiz) veya sınır sabitine yakın yoğunluk gradyanını ( A(-2, 5) = A(0, 5) + 2(A(0, 5) - A(1, 5))).
    • Kullanarak görüntü sınırları dışındaki piksel değerlerini yeniden tanımlayın aynasal yansıma(A(-2, 5) = A(2, 5) ).

    Belirli bir yöntemin seçimi, belirli bir filtre ve belirli bir uygulamanın özellikleri dikkate alınarak yapılmalıdır.

    sökülmüş genel tanım lineer filtreler, örneklere geçelim.