2014-03-19 23 views
3

轉換一個矩陣變換爲灰度圖像I具有以下矢量:中的R

vec<-as.vector(rnorm(1:924)) 

,並希望將其重塑成以下形式的矩陣33 X 28中的矩陣然後轉換成灰度像素像。

在MATLAB中,我知道存在imagescimshow將矩陣轉換爲圖像。 R中有類似的東西嗎?

另外,灰度強度的平均值和最大值可以像MATLAB中那樣調整嗎?

+2

BTW:你不需要'as.vector() '。 'rnorm()'已經返回一個向量。 –

回答

4

您正在尋找?heatmap

heatmap(matrix(vec,33,28),Rowv=NA,Colv=NA,col=paste("gray",1:99,sep="")) 

heatmap

您可以調整通過col參數的最小/最大色彩。看看?image,?heat.colors和朋友。

+2

如果你不想在每行中縮放值,你需要注意添加'scale =「none」'。 –

0

不會大幅從斯蒂芬的回答不同,但如果你想給一個更全面的範圍灰色的,這裏是你可以做什麼:

grays = rgb(red = 0:255/255, blue = 0:255/255, green = 0:255/255) 
heatmap(matrix(rnorm(100), 10, 10),Rowv=NA,Colv=NA,col=grays, scale = "none")