1 04 2018
2018 – Görüntü İşleme Örnek Soru-2
cerceveYap() isimli bir fonksiyon yazılacaktır. Bu fonksiyon x,y koordinatları verilen bir pikselin etrafına yeşil renkli kare bir çerçeve çizecektir. Çerçevenin boyutu da fonksiyona parametre olarak girilecektir.
Fonksiyon parametreleri:
- Çerçeve çizilecek pikselin x koordinatı
- Çerçeve çizilecek pikselin y koordinatı
- Çerçevenin boyutu (Tek sayı olması zorunludur.)
- Görüntü dosyası
Çıktı: Sonuçta oluşan görüntü olacaktır.
Örnek kullanım:
>>q=imread(‘headquarters-2.jpg’);
>>y=cerceveYap(40,40,9,q);
>>imshow(y);
Yanıt:
function y=cerceveYap(X_odak,Y_odak,cerceveBoyut,goruntu)
%Bu fonksiyon verilen bir resmin odak koordinatları etrafında verilen
%boyutlarda bir çerçeve çizer.
SinirX=X_odak+(cerceveBoyut-1)/2;
SinirY=Y_odak+(cerceveBoyut-1)/2;
%çerçeve eğer resmin dışına taşıyorsa ya da çerçeve boyutu tek sayı değilse işlem
%yapılmayacak şekilde if cümlesi düzenlendi.
if rem(cerceveBoyut,2)~=0 && SinirX<size(goruntu,2) && SinirY<size(goruntu,1)
baslaX=X_odak-(cerceveBoyut-1)/2;
baslaY=Y_odak-(cerceveBoyut-1)/2;
goruntu(baslaY,baslaX:baslaX+cerceveBoyut,1)=0;
goruntu(baslaY,baslaX:baslaX+cerceveBoyut,2)=255;
goruntu(baslaY,baslaX:baslaX+cerceveBoyut,3)=0;
goruntu(baslaY:baslaY+cerceveBoyut,baslaX,1)=0;
goruntu(baslaY:baslaY+cerceveBoyut,baslaX,2)=255;
goruntu(baslaY:baslaY+cerceveBoyut,baslaX,3)=0;
goruntu(baslaY:baslaY+cerceveBoyut,baslaX+cerceveBoyut,1)=0;
goruntu(baslaY:baslaY+cerceveBoyut,baslaX+cerceveBoyut,2)=255;
goruntu(baslaY:baslaY+cerceveBoyut,baslaX+cerceveBoyut,3)=0;
goruntu(baslaY+cerceveBoyut,baslaX:baslaX+cerceveBoyut,1)=0;
goruntu(baslaY+cerceveBoyut,baslaX:baslaX+cerceveBoyut,2)=255;
goruntu(baslaY+cerceveBoyut,baslaX:baslaX+cerceveBoyut,3)=0;
y=goruntu;
else
fprintf(‘Cerceve Boyutu tek sayı olmalıdır ya da resim sınırları aşıldı.\n’)
end
end
2018 – Görüntü İşleme Örnek Soru-1 2018 – Görüntü İşleme Vize Yanıtlar