EBImage是一个Bioc软件包(但由于它不能在运行Yosemite的Mac上正确编译),我在尝试探索这个问题时失败了。在这台运行Lion的机器上,我能够演示如何查看正式的“图像”类的项目以及如何将它们分开。 (我使用的是连接到我的邮件我的测试案例的一个商业文件,它仅仅是142 X 69像素,所以我用一个较小的“窗口”
> Image <- Image[75:100, 25:50,]
> display(Image)
> str(Image)
Formal class 'Image' [package "EBImage"] with 2 slots
[email protected] .Data : num [1:21, 1:31, 1:3] 1 1 1 1 1 ...
[email protected] colormode: int 2
所以这个.Data
组件S4对象是一个21 x 31 x 3 R阵列,大概有红色,绿色和蓝色图层,虽然我不是图像专家,可能还有其他颜色方案,这会让您“看到”左上角第一层:
> [email protected][ 1:5,1:5 , 1]
[,1] [,2] [,3] [,4] [,5]
[1,] 1 0.9882353 1.0000000 1.0000000 1.0000000
[2,] 1 1.0000000 1.0000000 1.0000000 1.0000000
[3,] 1 1.0000000 1.0000000 0.9803922 0.8470588
[4,] 1 1.0000000 0.9960784 0.8588235 0.6627451
[5,] 1 1.0000000 0.9607843 0.8470588 0.6901961
通知所述at符号而不是美元符号作为中缀运算符提取这将提供一个机制,用于计算层val的总和用的系数和平方的UE你请求:
> Y <- 0.2126*[email protected][ , , 1]^2 + 0.7152*[email protected][ , , 2]^2 + 0.0722*[email protected][ , , 3]^2
> str(Y)
num [1:21, 1:31] 0.974 0.956 0.957 0.963 0.97 ...
结果是相同的尺寸投影RGB各层的“强度”的R矩阵
(如果是文件使用的是什么的.jpg)。首先,阅读'readImage'的帮助文件。我会为你做,但你没有说明可以找到哪个包。与此同时,考虑CRAN软件包'jpg',它可以通过r,g,b'三维数组生成一个'X by y。从那里做你想做的是微不足道的。 –
或许'browseVignettes(“EBImage”)'会有帮助吗?也许'imgk = channel(img,'rgb')' – ckluss