2013-03-01 34 views
4

我知道這個問題以前已經問過,但現有的答案似乎已經過時,因爲我無法使用install.packages安裝Bio7或rimage,並且在Bio7的倉庫中搜索404鏈接(我錯過了什麼?)。在R中加載和保存圖像的軟件包

因此,到目前爲止,在R中加載/保存圖像的正確包是什麼,所以人們可以從R內處理像素?

我不需要它來提供處理例程。只要它可以可靠地將jpeg轉換爲像素值的網格,反之亦然(並且最好對png執行相同操作),則可以編寫處理代碼。

+0

你想在所包什麼功能呢?有一些軟件包,比如'raster' package..'png'''jpeg' ..你能給出更多關於使用像素的上下文的信息。 – agstudy 2013-03-01 16:48:58

+0

已更新的問題。從HOG過濾器到自定義直方圖映射到自定義圖像去噪的各種像素處理。我可以實現這些,但我只需要一種方法來獲取數據,然後保存它。 – 2013-03-01 19:06:10

回答

5

我認爲raster是你需要的。

library(png) 
img <- readPNG(system.file("img", "Rlogo.png", package="png")) 
## convert it to a raster, interpolate =F to select only sample of pixels of img 
img.r <- as.raster(img,interpolate=F) 

現在你有顏色的矢量:

str(img.r) 
'raster' chr [1:76, 1:100] "#00000000" "#0 
+0

然後看看'.jpg'文件中的jpeg包。爲什麼你需要網格包? – 2013-03-01 20:04:01

+0

當我說一個「像素值網格」時,我並不是指一個網格對象。我的意思是我可以加載它們並獲取位置(x,y)處的像素,或者使用矩陣(例如每個顏色通道一個)或者通過使用類似bytes_per_pixel *(x + y * image_pixels_per_row )。對不起,如果我不清楚。 – 2013-03-01 21:30:00

+0

@GregSnow它是一個錯字。我更新我的答案以刪除多餘的行。 – agstudy 2013-03-10 08:07:38