我已經在R中編寫了一個函數,它讀取一個文本文件並使用該文件中每個協調元的座標信息和強度值生成一個顏色映射。如何爲R中圖像的閾值強度值?
現在,我想對強度應用一個特定的閾值,使得低於特定閾值的強度值被抑制(或呈黑色),並且閾值以上的強度以所定義的顏色方案表示。我基本上想要高強度的圖像高亮區域。
在這種情況下,我也有另一個問題:我可以定義一個百分比而不是具體的閾值:因爲對於每個圖像,我都有不同的強度值,因此必須應用不同的閾值。
我附上了我正在使用的圖像。
這裏是數據的有三列(x座標,y座標,強度值)
0 0 4.169080e+000
1 0 6.391669e+000
2 0 6.391669e+000
.
.
.
511 0 9.922547e+000
0 1 5.268026e+000
1 1 5.268026e+000
.
.
.
511 511 9.922547e+000
而且,爲了生成的情節,我從文件中讀取的所有數據,並將其傳遞給函數的樣品它會生成色彩圖(spplot
)。下面是函數:
generatePlot <- function (data, plotName) {
rv <- raster(nrows=data$xPixels, ncols=data$xPixels)
rv1 <- raster(matrix(data$rawData$V3, nrow = data$xPixels, byrow = T), xmn=0, ymn=0, xmx=1, ymx=1)
plotData <- spplot(rv1, scales = list(draw = TRUE), col.regions=rainbow(100, start = 1/6, end = 1), main=plotName)
這裏是原始圖像:
這裏是閾值的圖像:
您使用哪個函數來繪製圖像?適應'zlim'是否符合你的要求,例如'image(X,zlim = c(20,110))'?您還可以將低於您的閾值的值設置爲「NA」以在圖中將其抑制。 – koekenbakker
我正在使用spplot(rv1Correctedals,zlim = c(40,110)),main =「ALS」)。我嘗試使用zlim,但它給出了以下錯誤:未使用的參數(zlim = c(40,110)) – novicegeek
'my_image [my_image