【问题标题】:Converting a matrix into a gray scale image in R在R中将矩阵转换为灰度图像
【发布时间】:2016-09-30 03:15:12
【问题描述】:

我有以下向量:

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

并想将其重塑为 33 X 28 形式的矩阵。然后将矩阵转换为灰度像素状图像。

在 MATLAB 中,我知道存在 imagescimshow 可以将矩阵转换为图像。 R中有类似的东西吗?

另外,是否可以像在 MATLAB 中一样调整灰度强度的平均值和最大值?

【问题讨论】:

  • 顺便说一句:你不需要as.vector()rnorm() 已经返回一个向量。

标签: r image image-processing


【解决方案1】:

你在找?heatmap:

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

您可以通过col 参数调整最小/最大颜色。看看?image?heat.colors和朋友们。

【讨论】:

  • 如果您不希望在每行中缩放值,则需要注意添加 scale="none"
【解决方案2】:

与斯蒂芬的回答没有太大不同,但如果你想提供更全面的灰色,你可以这样做:

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")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-06
    • 1970-01-01
    • 2012-11-09
    相关资源
    最近更新 更多