2016-11-16 91 views
1

當問題我不是的R專家,但我將其用於各種圖像處理。現在我正試圖在我的衛星S-2圖像上應用高斯模糊平滑(spatstat包)。原稿類型我的形象是光柵(光柵層)TIFF,實際上從兩個哨兵2頻段(綠色和藍色)減法圖像。要在這種圖像上應用模糊,我必須先將其轉換爲像素圖像。我試着這樣做以下幾個其他的問題(像這樣的Converting a raster object to an im object in R),但我沒有贏得成功。我曾嘗試一些可能性,比如轉換光柵圖像矩陣與比像素的圖像,但是,這並不工作,因爲圖像比過大(不過我用的是整個哨兵2圖像小,croped面積)。轉換光柵(TIFF)圖像中的R的像素的圖像 - 空間轉換成多邊形對象owin類

所以,我在簡短的功能看起來就像這樣:

blue <- raster("S2A_OPER_MSI_T33TWH_B02.tif") 
green <- raster("S2A_OPER_MSI_T33TWH_B03.tif") 

subt <- function(r1, r2) { 
return(r2-r1) 
} 

out_sub1 <- (blue, green, fun = subt) 

我試圖直接光柵圖像上應用模糊,但我很快就意識到它不工作的柵格數據:

gauss_sub1 <- blur(out_sub1, sigma = 5) 
#Error: is.im(x) is not TRUE 

所以,我嘗試我的圖像轉換成一個像素一個

out_sub11 <- as.im(X = "out_sub1") 
Error in as.im.function(X, W, ..., dimyx = dimyx, na.replace = na.replace): A window W is required 

所以我嘗試DEFI NE以下的窗口我的柵格範圍

e <- [email protected] 
sp_w <- as(e, "SpatialPolygons") 
W <- as(sp_w, "owin") 
Error in as(SP.win, "owin") : no method or default for coercing 「SpatialPolygons」 to 「owin」 

誰能告訴我什麼我做錯了或者我怎麼能轉化空間的多邊形進owin對象類,這樣我就可以進一步處理模糊命令?

而且可以請人給我解釋一下什麼區別有光柵圖像和分別在R像素圖像之間?

回答

0

你可以申請使用raster庫過濾器:

library(raster) 
r <- blue - green 

# 3 by 3 mean filter 
r_mf <- focal(r, w=matrix(1/9,nrow=3,ncol=3)) 

# gaussian filter 
gf <- focalWeight(r, 2, "Gauss") 
r_gf <- focal(r, w=gf) 
+0

感謝您的回覆@地理SP。我忘了提,我已經使用這種方法來平滑已經(但使用默認的功能,而不是Gaussean)之前,它工作正常。但我仍然想理解上面強調的問題。 –