2012-11-09 50 views
0

說,我有一個功能矢量vec,這實際上是一張圖片(拉伸)。爲了顯示它,我使用this postimage(matrix(vec,nrow=height,ncol=width),axes = FALSE,col = grey(seq(0, 1, length = 256)))的解決方案,但是因爲原點位於左下角,因此圖片旋轉了90°。我想我也可以移動原點,但是R應該在MATLAB中有一個像imshow這樣的函數,它可以更直觀地顯示圖片,而不需要太多的配置,而image()用於可視化矩陣。那麼,是否有這樣的功能?謝謝。從矩陣顯示圖片的其他好方法? (除圖像())

+0

你能爲我們提供你的vec嗎? – Ali

+0

@Ali圖片的尺寸是64x64,尺寸是4096.矢量在這裏http://pastebin.com/Pnz7p0Ac – ziyuang

+0

ziyuang:提示重現性:使用'(1:64),seq(),runif( ),rnorm()等等來緊湊地生成一個樣本向量,給我們一個總體的想法,我們正在處理。發佈這裏不在pastebin上。 – smci

回答

4

通過t()移調你的矩陣是解決方案:

vec = runif(4096) 
vec[1:500]=0 
v = matrix(vec,nrow=height,ncol=width) 
image(v,axes = FALSE,col = grey(seq(0, 1, length = 256))) 

enter image description here

image(t(v),axes = FALSE,col = grey(seq(0, 1, length = 256))) 

enter image description here

或者翻轉它:

image(t(v)[, nrow(v):1],axes = FALSE,col = grey(seq(0, 1, length = 256))) 

enter image description here

+0

不,我試過,但圖片會顛倒。 – ziyuang

+0

@ziyuang現在好嗎? – Ali

+0

現在好,謝謝。 – ziyuang

相關問題