2009-09-15 14 views
5

Bir resmi MATLAB içinde orijinal boyutunda gösterebilir miyiz?MATLAB: görüntünün orjinal boyutunda gösteriliyor

Şu anda gösterdiğimiz zaman, tam olarak görüntü penceresi boyutuna takılıyor. Ancak, resmi orijinal boyutunda göstermek istiyorum. Resim daha büyük boyutta olduğunda, görüntü penceresinde kaydırma çubuğu görünmelidir. Bu, kullanıcının resmi orijinal boyutunda görüntülemesine olanak tanır.

Bunu nasıl gerçekleştireceğinizle ilgili herhangi bir fikir var mı? Mümkün mü?

cevap

7

Aradığınızı, IMTOOL yardımcı programı (Image Processing Toolbox'un bir parçası olan) olduğuna inanıyorum. Yatay ve dikey kaydırıcılarla görüntüleri orijinal boyutlarında (% 100 büyütme) görüntülemenize izin veren bir MATLAB GUI.

DÜZENLEME: Yukarıdaki çözüm yeni bir şekil penceresine (IMTOOL GUI) daki resmini görüntüler

. Görüntünün yeni bir pencerede görünmesini istemiyorsanız, ancak boyutunu kendi pencerenizde ayarlamak istiyorsanız, daha zor olacaktır. IMAGE komutunu kullanarak bir dizi eksende görüntülediğinizi düşündüğüm resmin boyutunu ayarlamak için, görüntüyü içeren eksenler için axes properties sayısını ayarlamanız gerekir.

  • 'Units': Bu, örneğin, 'inches', 'centimeters' veya 'pixels' olarak ayarlanabilir Aşağıdaki muhtemelen değiştirerek sona erecek özellikleridir.
  • 'Position': Bu, eksenlerin, Şekil penceresinde 'Units' özelliğine göre yönetilen birimlerde yerleştirildiğini denetler.
  • 'DataAspectRatio'/'PlotBoxAspectRatio': Bunlar, eksenlerin ve çevresindeki çizim kutusunun göreceli olarak ölçeklenmesini kontrol eder.
  • 'XLim'/'YLim': Eksenlerin minimum ve maksimum değerleri.

Görüntünün boyutunu ve ölçeklendirmesini istediğiniz gibi görüntülemek için görüntüdeki bölümler, şekil penceresi alanının dışında olabilir. Ne yazık ki, yatay ve dikey kaydırıcılar otomatik olarak eklenmeyecektir. UICONTROL işlevini kullanarak bu kaydırma denetimlerini kendiniz oluşturmanız gerekir. Sürgü denetimleri için geri arama işlevlerini, eksenleri pencerede hareket ettirecek şekilde yazmanız gerekir. a slider tutorial on blinkdagger, a blog post by Doug Hull ve a video from Doug on GUIDE basics: Yukarıdaki yolda girişim seçerseniz

, burada size yardımcı olabilecek GUI tasarım öğreticiler için birkaç bağlantı vardır.

+1

görüntü eksenini değiştirir Görüntü işleme araç kutusunda imtool olduğu belirtilmelidir. –

+0

@Richie: İyi nokta. Yorumunuzu cevaba ekledim. – gnovice

2

Matlab kaydırıcısında, MouseMove üzerinde değil, yalnızca MouseUp'ta geri arama başlatması sorunu vardır, bu nedenle, mat matlab uygulaması her zaman gariptir.

Daha iyi bir yol - Matlab'da Java'ya gidin. Yani tüm kaydırma mantığını yeniden uygulamak zorunda değilsiniz. Java Swing GUI bileşenini Matlab penceresine koyabilirsiniz, bu hiç de zor değil.

Özellikle Swing JScrollPane Sınıfını kullanmanız gerekir. Matlab javacomponent() fonksiyonu ile matlab penceresinin içine koyabilirsiniz.

Web'de kaydırma bölmesine nasıl resim çekileceğine dair örnekler var, sadece JScrollPane image'a göz atın.Her zamanki Matlab sözdizimi ile matlab içindeki Java sınıflarını kullanabilirsiniz

+1

FYI, bir MATLAB kaydırıcının sürüklendiğinde, burada adreslenmiş bir geri çağırma yürütmek için bir yolu var: [MATLAB içinde, bir sürgü sürüklenirken bir geri çağrı yürütme nasıl olabilir?] (Http://stackoverflow.com/ q/6032924/52738) – gnovice

1

deneyin (new anahtar kelime için gerek, ecc.): rakam, imshow (your_image), eksen görüntü Bu orijinal boyutunda