Pikselleri olduğundan büyük çizme
İşinize çok yarayacak kısa ve öz bir MATLAB ipucu paylaşacağım.
Bazen yapay resimler oluştururuz ve bunları çizerken piksellerin de kocaman olmasını isteriz. Örneğin 10x10'luk bir resminiz var. Bunu imshow
ile doğrudan çizersek:
x = rand(10,10); imshow(x)
Ekrandaki bir piksele resmin bir pikseli gelecek biçimde çizilir ve figür alttaki gibi görünür. Siz pencereyi büyütseniz de resim aynı şekilde gösterilir, sadece kedardaki boşluklar büyür. Altta gerçekten bir resim var, dikkatli bakın. Aaa karıncalar film çevirmiş demeyin, bozulurum :)
Eğer bu resmi büyütülmüş halde çizmek istersek imshow
fonksiyonuna InitialMagnification
parametresi vermek yeterli. Şöyle:
x = rand(10,10); imshow(x, 'InitialMagnification','fit')
Ve sonuç ekranın içine sığacak biçimde:
Elbette bunu renkli resimler için de yapmak mümkün:
r = [1 1 1; 0 0 0]; g = [1 0 1; 1 1 0]; b = [1 0 0; 0 1 1]; rgb = cat(3,r,g,b); imshow(rgb, 'InitialMagnification','fit')
Ve sonuç:
Elinizdeki matris veya vektör küçük boyutlardaysa ve içindeki değerleri piksel piksel görmek isterseniz bu gösteriş biçimi tam size göre.
2 yorum
Matlab te ayrıca imagesc fonksiyonu kullanılabilir. Benzer bir iş yapmakta.
imagesc
fonksiyonu resimdeki en düşük değerli pikselin değerini 0'a en büyüğü de 1'e gelecek şekilde çizerken yeniden ölçekleme yapıyor. Histogram genişletmesi yapıyor diyebiliriz. Örneğin değerler[0.3 0.4 0.5]
ise, çizerken[0.0 0.5 1.0]
miş gibi gösteriyor. Yazıdaki durum ise bundan farklı. Piksellerin değerleri değişmiyor, yalnızca her pikselin ekranda kapladığı alan değişiyor.