MATLAB ile Görüntü İşleme 2 |
Elektrikport Akademi
Matlab ile Görüntü İşleme 1 yazımızda; görüntüyü matlab ortamına aktarımı, gri ve binary seviyeye dönüşümleri, görüntü ile aritmetik işlemleri ve görüntü analiz tekniklerini incelemiştik. Bu yazımızda ise; çeşitli uygulamalarda kullanabileceğimiz, görüntü işlemenin asıl amacını oluşturan; görüntü iyileştirme ve gürültü filtreleme yöntemlerini örneklerle inceleyeceğiz. Umarız yazının sonunda, üzerinde çalıştığımız görüntülerde istemediğimiz ayrıntıları ve gürültüleri yok etmeyi başarmış oluruz.
03.04.2013 tarihli yazı 61184 kez okunmuştur.
Görüntü iyileştirme komutları
imadjust: görüntü yoğunluğu değerini ve renk haritasını ayarlar.
histeq: histogramı eşitleyerek kontrastı artırır.
adapthisteq: CLAHE(kontrast sınırlı adaptif histogram eşitleme) algoritması kullanarak kontrastı artırır.
I = imread('tire.tif');
A = adapthisteq(I,'clipLimit',0.02,'Distribution','rayleigh');
B = histeq(I);
subplot(231),imshow(I);
subplot(232),imshow(A); title('adapthisteq uygulanmış');
subplot(233),imshow(B); title('histeq uygulanmış');

medfilt2: 2 boyutlu medyan filtreleme yapar.
wiener2: 2 boyutlu adaptif gürültü temizleme filtresidir.
I=imread('eight.tif');
no=imnoise(I,'salt & pepper',0.02);
filt1=medfilt2(no); filt2=wiener2(no);
subplot(2,2,1); imshow(I), title('Orijinal resim')
subplot(2,2,2); imshow(no), title('Gürültülü resim')
subplot(2,2,3); imshow(filt1), title('Medyan filtresi uygulanmış')
subplot(2,2,4); imshow(filt2), title('Wiener filtresı uygulanmış')

histeq: histogramı eşitleyerek kontrastı artırır.
adapthisteq: CLAHE(kontrast sınırlı adaptif histogram eşitleme) algoritması kullanarak kontrastı artırır.
I = imread('tire.tif');
A = adapthisteq(I,'clipLimit',0.02,'Distribution','rayleigh');
B = histeq(I);
subplot(231),imshow(I);
subplot(232),imshow(A); title('adapthisteq uygulanmış');
subplot(233),imshow(B); title('histeq uygulanmış');

medfilt2: 2 boyutlu medyan filtreleme yapar.
wiener2: 2 boyutlu adaptif gürültü temizleme filtresidir.
I=imread('eight.tif');
no=imnoise(I,'salt & pepper',0.02);
filt1=medfilt2(no); filt2=wiener2(no);
subplot(2,2,1); imshow(I), title('Orijinal resim')
subplot(2,2,2); imshow(no), title('Gürültülü resim')
subplot(2,2,3); imshow(filt1), title('Medyan filtresi uygulanmış')
subplot(2,2,4); imshow(filt2), title('Wiener filtresı uygulanmış')

Doğrusal filtreleme komutları
fspecial: önceden tanımlanmış 2 boyutlu filtreleri oluşturur.
► Kullanım şekli; F = fspecial(‘filtre’ , parametre)

imfilter: çok boyutlu görüntüleri filtreler.
Morfolojik işlemler
strel: strel, morfolojik işlemlerde kullanılan yapısal filtre elemanıdır. Morfolojik işlemleri hangi şekil ve parametrelerle uygulayacağımızı strel ile belirleriz.
► Kullanım şekli; SE = strel (filtreleme şekli, parametre)
► Örnek; SE =strel(‘disk’, R) R; yarıçap
SE = strel(‘square’, L) L; karenin bir kenarının uzunluğu
imdilate: açma işlemini yapar.
imerode: aşındırma işlemi yapar.
bw = imread('rice.png');
lvl=graythresh(bw);
bw=im2bw(bw,lvl);
se = strel('line',11,70);
se1 = strel('square',8);
bw2 = imdilate(bw,se);
bw3 = imerode(bw,se1);
subplot(231), imshow(bw), title('Original')
subplot(232), imshow(bw2), title('Dilate sonucu')
subplot(233), imshow(bw3), title('erode sonucu')
► Kullanım şekli; SE = strel (filtreleme şekli, parametre)
► Örnek; SE =strel(‘disk’, R) R; yarıçap
SE = strel(‘square’, L) L; karenin bir kenarının uzunluğu
imdilate: açma işlemini yapar.
imerode: aşındırma işlemi yapar.
bw = imread('rice.png');
lvl=graythresh(bw);
bw=im2bw(bw,lvl);
se = strel('line',11,70);
se1 = strel('square',8);
bw2 = imdilate(bw,se);
bw3 = imerode(bw,se1);
subplot(231), imshow(bw), title('Original')
subplot(232), imshow(bw2), title('Dilate sonucu')
subplot(233), imshow(bw3), title('erode sonucu')
► Örnekte; rice.png görüntüsü sonucun daha anlaşılır gözükmesi için binary moda çevrildi. İşlemler gri seviyede de yapılabilir. se ve se1 olarak iki tane maske belirlendi. Maskelerin parametreleri isteğe göre değiştirilebilir. Mesela; açma işleminin daha belirgin olması için se maskesinin parametreleri artırılmalı. se1 maskesinde 8 sayısı 12 yapıldığında beyaz noktaların tamamen kaybolduğu görülür.

imclose, imopen: imdilate ve imerode işlemlerinin birlikte kullanılması ile oluşan filtrelerdir. Uygulama mantıkları benzerdir.
imfill: gri seviyede veya binary modda açıklıkları doldurur.

bwarea: binary modda alan nesnelerin alanını hesaplar.
bwareaopen: binary modda küçük parçaları(bağlı olmayan) yok eder. aşındırma işleminin benzeridir.
bwconncomp: bağlı komponentleri buldurur.
BW = imread('text.png');
CC = bwconncomp(BW);
numPixels = cellfun(@numel,CC.PixelIdxList);
[biggest,idx] = max(numPixels);
BW(CC.PixelIdxList{idx}) = 0;
figure; imshow(BW);
► Örnekte; en büyük yer kaplayan harflerin sillindiği görülür.
bwmorph: binary modda morfolojik işlemler yapılır. Birçok maskeleme çeşidi vardır. Bu maskeleme çeşitlerinin bazılarını örnekte göreceğiz.
BW = imread('coins.png');
lvl=graythresh(BW);
BW=im2bw(BW,lvl);
BW2 = bwmorph(BW,'remove');
BW3 = bwmorph(BW,'skel',Inf);
BW4 = bwmorph(BW,'thin');
subplot(221),imshow(BW), title('original');
subplot(222),imshow(BW2), title('remove ');
subplot(223),imshow(BW3),title('skel'),
subplot(224),imshow(BW4),title('thin'),

MATLAB konulu diğer yazılar;
►Matlab ile Görüntü İşleme Uygulaması
► Matrix İşlemleri ve Grafik Oluşturma
► Matrix Oluşturma
► Elektrik Devrelerinin Laplace Domeninde Çözümü ve Analizi
► Ses Sinyali Analizi Video Eğitimi - Melodi Oluşturma
► Ses Sinyali Analizi [dijital sinyal işleme] 1
► Ses Sinyali Analizi [dijital sinyal işleme] 2
► Ses Sinyali Analizi [dijital sinyal işleme] 3
► Rotor Kontrollü Bir Doğru Akım Motorunun Transfer Fonksiyonu
► PWM Modülasyonlu Evirici ile Sürülen Asenkron Motorun Matlab Simülasyonu
YORUMLAR
Aktif etkinlik bulunmamaktadır.
-
Dünyanın En Görkemli 10 Güneş Tarlası
-
Dünyanın En Büyük 10 Makinesi
-
2020’nin En İyi 10 Kişisel Robotu
-
Programlamaya Erken Yaşta Başlayan 7 Ünlü Bilgisayar Programcısı
-
Üretimin Geleceğinde Etkili Olacak 10 Beceri
-
Olağan Üstü Tasarıma Sahip 5 Köprü
-
Dünyanın En İyi Bilim ve Teknoloji Müzeleri
-
En İyi 5 Tıbbi Robot
-
Dünyanın En Zengin 10 Mühendisi
-
Üretim için 6 Fabrikasyon İşlemi
-
EcoStruxure™ Automation Expert ile Tasarım Verimliliğini Artırın | Schneider Electric
-
60 Saniyede EcoStruxure™ Panel Server | Schneider Electric
-
60 Saniyede EVlink Pro AC | Schneider Electric
-
60 Saniyede EcoStruxure™ Power Operation | Schneider Electric
-
Kesintisiz Bağlantı Özelliği ile EcoStruxure™ Automation Expert | Schneider Electric
-
Yüksek Enerji Faturası Ödemek Kaderiniz Değil | Webinar
-
GoPact MCCB | Schneider Electric
-
Webinar I Otomatik Transfer Şalteri ile Kesintisiz Enerji
-
Webinar I Elektrikli Araç Şarj İstasyonları I Hager Türkiye
-
60 Saniyede EcoStruxure™ Power Monitoring Expert | Schneider Electric
ANKET