Trafik işareti tespit etme

tuncer5976

Üye
Katılım
4 Ağu 2014
Mesajlar
12
Puanları
1
Aşağıdaki kodu nasıl düzeltmem gerekiyor acaba yardım edebilecek vr mı



function [] = trafficSignDetector(input_img) % Ana Fonksiyon
oImg = imread(input_img); % Orjinal Resmi oku
binImg = trafficSignToBinImg(oImg); % Orjinal resmi ikilik formata çevirip gerekli iyileştirmeleri yapan fonk.
displayTrafficSign(binImg, oImg); % İkilik resimdeki verilere göre trafik işaretlerini bulup gösteren fonk.
end
function [ BW ] = trafficSignToBinImg( trafikResmi )
hsvFormat= rgb2ntsc(trafikResmi); % RGB renk uzayından NTSC renk uzayına dönüşüm yapılıyor
hsValue = hsvFormat:),:,3); % HSV -> 3. parametre yani value (brighness veya parlaklık) kullanılıyor
out = filter2(fspecial('average', 2), hsValue); % filtre kullanılarak kalite arttırılıyor
BW = im2bw(10*out,0.2); % Görüntü siyah-beyaz hale getiriliyor ve beyazlıkların belirginliği arttırılıyor
BW = bwareaopen(BW, 30); % Küçük objeler temizleniyor
BW = imdilate(BW, strel('disk',4)); % Dilation morfolojik işlemi uygulanıyor
BW = imdilate(BW,strel('disk',1)); % Dilation morfolojik işlemi uygulanıyor
BW = imerode(BW, strel('diamond', 3)); % Erode morfolojik işlemi uygulanıyor
BW = filter2(fspecial('average', 3), BW); % Kenarlıkları kalınlaştırıyoruz
end
function [] = displayTrafficSign( bin_img, original )
[num, L] = bwboundaries(bin_img, 4, 'noholes'); % Objelerin sınırlarını seçer
stats = regionprops(L, 'basic'); % objelerin özelliklerini elde eder
figure, imshow(original); % Orjinal resmi ekrana basar
for k=1 : length(num) % Resimdeki tüm objeleri tarar
coords = stats(k).BoundingBox; % Sınır koordinatlar
x1 = coords(1);
y1 = coords(2);
x2 = x1 + coords(3);
y2 = y1 + coords(4);
xCoords = [x1 x2 x2 x1 x1];
yCoords = [y1 y1 y2 y2 y1];
x2 = floor(x2);
y2 = floor(y2);
eulerNumber = bweuler(bin_img(y1:y2, x1:x2)); % Objenin içinde boşluk var mı?
if(eulerNumber<1) % Eğer objenin içinde boşluk veya boşluklar varsa bu bir trafik işaretidir, çerçeve içine al
hold on
plot(xCoords, yCoords, 'g-', 'LineWidth', 2);
hold off
end
end
end
 

Forum istatistikleri

Konular
127,956
Mesajlar
913,902
Kullanıcılar
449,606
Son üye
rasit.

Yeni konular

Geri
Üst