MATLAB ile Görüntü İşleme 1 |
Elektrikport Akademi
Görüntü işleme teknikleri ile, sayısal görüntüler iyileştirilerek nesne tanıma, hedef tanıma gibi işlemler gerçekleştirilebilmektedir. Görüntü işleme, amaca göre çeşitli işlemlerden oluşmaktadır. Bu yazımızda, her sektörde uygulama alanı bulan görüntü işleme tekniklerini, Matlab 'ın yaygın kullanılan görüntü işleme komutlarıyla birlikte örneklerle inceleyeceğiz.
25.03.2013 tarihli yazı 93192 kez okunmuştur.
Görüntü işleme; tasarım, imalat, güvenlik, tıp, elektronik, makine ve jeodezi gibi alanlarda çok geniş bir uygulama alanı bulmuştur. Aşağıda, uygulama alanlarına örnekler verilmiştir:
► Askeri (hedef tanıma, izleme)
► Tıp (damar analizi, bilgisayarlı tomogrofi, ultrason)
► Güvenlik (nesne takibi, hareket algılama, yüz tanıma)
► Trafik (trafik kontrol, plaka tanıma, trafik ışığı (işareti) tanıma)
► Endüstri (nesne sayma, kalite kontrol, robotik uygulamalar)
► Tarımsal uygulamalar (ekin verimliliği tespiti)
► Astronomi (uydu görüntüleri ile hava tahmini)
► Jeodezi ve Fotogrametri (uzaktan algılama)
► Perakende (insan sayma, davranış analizi, mağaza izleme)
► Çevre güvenliği (çevre kirliliği tespiti)
Bu yazımızda yukarıdaki uygulamaları geliştirmek için kullanılan, Matlab’ın görüntü işleme komutlarının bazılarını örneklerle inceleyeceğiz. Yazının devamında örnek bir uygulama yapmaya çalışacağız.
imread: imread ile üzerinde çalışılmak istenilen fotoğraf bir değişkene atanarak matlab workspace için tanımlanır ve ardından imshow ile pencerede gösterilebilir. Workspace’te imgenin boyutu, çözünürlüğü gibi bilgileri görebilirsiniz.
İmtool: imtool ile bazı işlemlerin yapılabileceği bir pencere açılır.
örnek kodları yazarken workspacedeki verileri temizlemek için, clear all ve clc komutlarını en başa yazmayı unutmayalım.
I = imread(‘ornek.jpg’)
imshow(I)
imtool(I)
Warp: görüntüyü (içinde yazı olan görüntü daha iyi olur ) belli yüzeylerde gösterir.
► Askeri (hedef tanıma, izleme)
► Tıp (damar analizi, bilgisayarlı tomogrofi, ultrason)
► Güvenlik (nesne takibi, hareket algılama, yüz tanıma)
► Trafik (trafik kontrol, plaka tanıma, trafik ışığı (işareti) tanıma)
► Endüstri (nesne sayma, kalite kontrol, robotik uygulamalar)
► Tarımsal uygulamalar (ekin verimliliği tespiti)
► Astronomi (uydu görüntüleri ile hava tahmini)
► Jeodezi ve Fotogrametri (uzaktan algılama)
► Perakende (insan sayma, davranış analizi, mağaza izleme)
► Çevre güvenliği (çevre kirliliği tespiti)
Bu yazımızda yukarıdaki uygulamaları geliştirmek için kullanılan, Matlab’ın görüntü işleme komutlarının bazılarını örneklerle inceleyeceğiz. Yazının devamında örnek bir uygulama yapmaya çalışacağız.
imread: imread ile üzerinde çalışılmak istenilen fotoğraf bir değişkene atanarak matlab workspace için tanımlanır ve ardından imshow ile pencerede gösterilebilir. Workspace’te imgenin boyutu, çözünürlüğü gibi bilgileri görebilirsiniz.
İmtool: imtool ile bazı işlemlerin yapılabileceği bir pencere açılır.
örnek kodları yazarken workspacedeki verileri temizlemek için, clear all ve clc komutlarını en başa yazmayı unutmayalım.
I = imread(‘ornek.jpg’)
imshow(I)
imtool(I)
Warp: görüntüyü (içinde yazı olan görüntü daha iyi olur ) belli yüzeylerde gösterir.
resim = imread('rice.png');
[x1,y1,z1] = cylinder;
[x2,y2,z2] = sphere;
imshow(resim); title('Orijinal resim');
figure;
subplot(1,2,1); warp(x1,y1,z1,resim); title('cylinder');
subplot(1,2,2); warp(x2,y2,z2,resim); title('sphere');
Tür dönüşüm komutları
rgb2gray: renkli görüntüyü gri seviyeye çevirir.
hsv2rgb: hsv renkleri rgb renklere çevirir.
graythresh: graythreshold komutu görüntüdeki parlaklık eşiğini otomatik olarak belirler ve sonuç olarak 0 – 1 arasında bir sayı (level) oluşturur. Görüntüdeki parlaklık sınırları ile yapacağımız işlemlerde graythreshold’ tan elde ettiğimiz sayıyı kullanırız. Görüntü üzerinde belirli işlemleri yapabilmemiz için öncelikle gri seviyede çalışmamız gerekir.
Bunun için I= rgb2gray(I) komutu kullanılır.
Bu kod örneği ile görüntünün binary şekli elde edilir.
level = graythresh(I);
bw = im2bw(I,level);
bw = bwareaopen(bw, 50);
figure; imshow(bw);
im2uint8: uint8 renk hassasiyetine dönüştürür. Genelde görüntüler uint8 türündedir. Her piksel İşaretsiz 8 bit (0 – 255) arası değere sahiptir.
Diğer dönüşüm komutları; demosaic, gray2ind, grayslice,im2int16, label2rgb ,im2double, im2uint16, mat2gray…
Diğer dönüşüm komutları; demosaic, gray2ind, grayslice,im2int16, label2rgb ,im2double, im2uint16, mat2gray…
Uzamsal dönüşüm komutları
Kodların adlarından anlaşılacağı gibi fiziksel değişiklikler yapabileceğiniz bazı komutlar: imcrop, imresize, imrotate, imtransform…
Görüntü analizi komutları
Bwboundaries: binary modda bölgelerin sınırlarını belirler.
Bu örnekte, yeşil çizgiyle sınırlanmış alanların sayısını belirleyebiliriz. Bu örnekle daha sonra bahsedeceğimiz, morfolojik işlemler gerçekleştirilerek basit nesne sayma uygulaması yapılabilir.
I = imread('rice.png');
BW = im2bw(I, graythresh(I));
B = bwboundaries(BW);
figure; imshow(BW);
text(10,10,strcat('\color{red}bulunan sınırlar:',num2str(length(B))))
hold on;
for k = 1:length(B)
boundary = B{k};
plot(boundary(:,2), boundary(:,1), 'g', 'LineWidth', 1)
end
Edge: özel filtreler yardımıyla gri seviyedeki görüntülerin sınırları belirlenir.
I = imread('rice.png');
imshow(I);
BW1 = edge(I,'prewitt');
BW2 = edge(I,'canny');
figure; imshow(BW1);
figure; imshow(BW2);
diğer analiz komutları: hough, houghlines, corner…
I = imread('rice.png');
imshow(I);
BW1 = edge(I,'prewitt');
BW2 = edge(I,'canny');
figure; imshow(BW1);
figure; imshow(BW2);
diğer analiz komutları: hough, houghlines, corner…
Doku analizi komutları
entropy: gri seviye görüntünün entropisini hesaplar.
entropyfilt: yerel entropi hesaplar.
I=imread('circuit.tif');
e=entropy(I)
ye=entropyfilt(a);
imshow(ye,[])
rangefilt: görünütünün 3x3 komşuluğunda sınıflandırması yapar.
stdfilt: görüntünün 3x 3 komşuluğunda standart sapmasını hesaplar.
clear all, clc
I=imread('circuit.tif');
I1=rangefilt(I);
I2=stdfilt(I);
figure; imshow(I);
figure; imshow(I1);
figure; imshow(I2);
entropyfilt: yerel entropi hesaplar.
I=imread('circuit.tif');
e=entropy(I)
ye=entropyfilt(a);
imshow(ye,[])
rangefilt: görünütünün 3x3 komşuluğunda sınıflandırması yapar.
stdfilt: görüntünün 3x 3 komşuluğunda standart sapmasını hesaplar.
clear all, clc
I=imread('circuit.tif');
I1=rangefilt(I);
I2=stdfilt(I);
figure; imshow(I);
figure; imshow(I1);
figure; imshow(I2);
Aritmetik işlem komutları
imadd: iki görüntüyü toplar veya bir görüntüye sabit bir sayı (parlaklık) ekler.
imcomplement: binary modda siyah alanlar beyaz, beyaz alanlar siyaha çevrilir.
I = imread('rice.png');
J = imadd(I,50);
subplot(1,2,1), imshow(I);
subplot(1,2,2), imshow(J);
lvl=graythresh(I);
BW=im2bw(I,lvl);
bw = imcomplement(BW);
figure;
subplot(1,2,1),imshow(I);
subplot(1,2,2),imshow(bw);
diğer aritmetik işlemler: imabsdiff, imdivide, immultiply, imsubtract…
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
- DrivePro Yaşam Döngüsü Hizmetleri
- Batarya Testinin Temelleri
- Enerji Yönetiminde Ölçümün Rolü: Verimliliğe Giden Yol
- HVAC Sistemlerinde Kullanılan EC Fan, Sürücü ve EC+ Fan Teknolojisi
- Su İşleme, Dağıtım ve Atık Su Yönetim Tesislerinde Sürücü Kullanımı
- Röle ve Trafo Merkezi Testlerinin Temelleri | Webinar
- Chint Elektrik Temel DIN Ray Ürünleri Tanıtımı
- Sigma Termik Manyetik Şalterler ile Elektrik Devrelerinde Koruma
- Elektrik Panoları ve Üretim Teknikleri
- Teknik Servis | Megger Türkiye
ANKET