从矩阵显示图片的其他好方法? (图像()除外)

时间:2012-11-09 15:10:04

标签: r image matrix plot

说,我有一个特征向量vec,它实际上是一张图片(拉伸)。要显示它,我使用this postimage(matrix(vec,nrow=height,ncol=width),axes = FALSE,col = grey(seq(0, 1, length = 256)))的解决方案,但因为原点位于左下角,所以图片旋转90°。我想我也可以移动原点,但是R应该在MATLAB中有一个像imshow这样的函数,它更适合直接用于显示图片而不需要配置这么多,而image()用于可视化矩阵。那么,有这样的功能吗?谢谢。

1 个答案:

答案 0 :(得分: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