Hacettepe Üniversitesi Hareket Analizi dersinden Serdar Arıtan hocamdan öğrendiğim bazı şeyleri burada yazmayı uygun buldum. Serdar hoca bu konuda deneyimli bir birikime sahip olması ve derste öğrendiğimizi de uygulama imkanı vermesi bu zor dersi eğlenceli hale getirmektedir.Biyomekanik Laboratuvarı Koordinatörü
1989 yılında Yıldız Teknik Üniversitesi’n den Endüstri Mühendisi olarak mezun oldum. 1994 yılında Hacettepe Üniversitesi’n den Spor Bilimleri Teknolojisi alanında Bilim Uzmanlığını derecesini aldıktan sonra 1998 yılında İngiltere’de the Manchester Metropolitan Üniversitesi’nde Biyomekanik Alanında Doktora öğrenimimi tamamladım. 1991 yılında göreve başladığım Hacettepe Üniversitesi'nde, 1999 yılından beri öğretim üyesi olarak çalışmaktayım. Ayrıca Biyomekanik Laboratuvarının araştırma yöneticiliği görevini yürütmekteyim. Spor Biyomekaniği, İnsan Hareket Analizi ve Benzeşim, Yumuşak Dokunun Biyomekanik Modellemesi, Görüntü İşleme ve Üç Boyutlu Yapılandırma Teknikleri ilgi alanlarımı kapsamaktadır. Yaklaşık 30 yılı aşan bir süredir C/C++/C# ve MATLAB/Python ortamında yazılım geliştirmekteyim.Serdar ARITAN
Matlab kullanarak resim yükleyip üzerinde işlemler gerçekleştireceğiz. resimin her bir pikseli Kırmızı(Red), Yeşil(Green), Mavi(Blue) ve bunların her biri 0 - 255 arasında değerden oluşmaktadır.
RGB = imread('resmin_adi.jpg');
I = rgb2gray(RGB);
esik_degerli_resim = I < 150; % 150 değerinin altındaki pikseller sıfırlanıyor
resim_temizlenmis_hali = bwareaopen(esik_degerli_resim, 64);
imshow(I)
figure,imshow(I)
close all
figure(1),imshow(I)
info = imfinfo('resmin_adi.jpg')
[level EM] = graythresh(RGB);
BWlevel = im2bw(RGB,level); imshow(BW) % resimde bulmamız gereken noktalar dışında beyazlıklar var.
BWem = im2bw(RGB,EM); imshow(BW) % resimde bulmamız gereken noktalar daha belirgindir.
BW = medfilt2(BWem, [3 3]);
[etiketli_resimler, sayisi] = bwlabel(BW);
imshow(etiketli_resimler == 2) % etiket matrisinde değeri 2 olan elemanları göster
merkez_isaretleri = regionprops(BW, 'centroid');
merkez_isaretleri_x_y = cat(1,merkez_isaretleri.Centroid);
hold on
plot(merkez_isaretleri_x_y(:,1),merkez_isaretleri_x_y(:,2), 'b+')
yukarıdaki öğrendiğimiz matlab fonksiyonlarıyla aşağıda bulunan resimdeki topun merkezini işaretleyelim:
Tüm bu kodları bir fonksiyon olarak tanımlarsak (topun_merkezini_bulma olarak fonksiyonunuzu kaydedin):
function topun_merkezini_bulma(resim_yolu) rgb = imread(resim_yolu); I = rgb2gray(rgb); [level EM] = graythresh(I); BWem = im2bw(I, EM); BW = medfilt2(BWem, [3 3]); merkez_isaretleri = regionprops(BW, 'centroid'); merkez_isaretleri_x_y = cat(1,merkez_isaretleri.Centroid); imshow(BW); hold on; plot(merkez_isaretleri_x_y (:,1),merkez_isaretleri_x_y (:,2), 'b+'); end
' Command Window ' penceresine şunu yazıp çalıştırın:
topun_merkezini_bulma('topisaretleme.jpg')
Kodu: topun merkezini bulma kodunu indirmek için tıklayınız.