我正面临在R中生成灰色图像的问题。错误显示“灰色错误(img):无效灰度级,必须在[0,1]中。”我不太清楚这里必须做些什么。请帮忙。
library(jpeg)
library(biOps)
x <- readJpeg("C:\\Users\\Pictures\\Photo.jpg")
dim(x)
# [1] 1030 1560 3
plot(x) ## a beautiful color image comes up
r <- imagedata(x, type = "grey")
plot(r) ## grey version of the color image comes up
#### Running SVD on the grey image matrix
r.svd <- svd(r)
d <- diag(r.svd$d)
dim(d)
# [1] 1030 1030
u <- r.svd$u
v <- r.svd$v
plot(1:length(r.svd$d), r.svd$d)
u1 <- as.matrix(u[-1, 1])
v1 <- as.matrix(v[-1, 1])
d1 <- as.matrix(d[1, 1])
l1 <- u1 %*% d1 %*% t(v1)
l1g <- imagedata(l1, type = "grey")
plot(l1g) #### an image with grey lines comes up
us <- as.matrix(u[, 1:5])
vs <- as.matrix(v[, 1:5])
ds <- as.matrix(d[1:5, 1:5])
ls <- us %*% ds %*% t(vs)
lsg <- imagedata(ls, type = "grey")
plot(lsg)
# Error in grey(img) : invalid gray level, must be in [0,1].
请帮我解决这个错误。我期待在这种情况下弹出一个模糊的图像版本。