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