我使用RenderedImage的接口來讀取tif圖像。 我怎樣才能得到這幅畫的所有RGB值在這樣的二維數組:RenderedImage - > RGB值
red[0][128] = 120; // means x=0, y=128, red value = 120
// the value 120 is the value I have to determine (and oall other rgb values)!
有誰知道這一點?
非常感謝您的幫助!
我使用RenderedImage的接口來讀取tif圖像。 我怎樣才能得到這幅畫的所有RGB值在這樣的二維數組:RenderedImage - > RGB值
red[0][128] = 120; // means x=0, y=128, red value = 120
// the value 120 is the value I have to determine (and oall other rgb values)!
有誰知道這一點?
非常感謝您的幫助!
getData()
返回Raster
,它有一個getData()
方法。
你可以叫YourRenderedImage.getData().getPixel(int x, int y, int iArray[])
讓您的RGB值?
的JavaDoc:返回INT的指定像素的陣列的樣品。如果座標不在邊界內,則可能拋出ArrayIndexOutOfBoundsException異常。
我相信由int
返回數組中的元素表示:紅,綠,藍,Alpha和內六角扳手,但我不知道。
像Abboq,我以爲你想穿越Raster
,這應該工作。或者,您可能可以使用BandSelect
來獲得所需的三個樂隊中的每一個。
RenderedImage[] dst = new RenderedImage[3];
int[] bandIndices = new int[1];
for (int i = 0; i < 3; i++) {
bandIndices[0] = i;
pb = new ParameterBlock();
pb.addSource(src);
pb.add(bandIndices);
dst[i] = (RenderedImage) JAI.create("bandSelect", pb);
}
是否要從左到右提取所有行並將它們存儲在線性一維數組中? – Abboq 2010-02-04 14:29:42
我想要有三個二維數組:紅色[] [],藍色[] []和綠色[] []。 – Tim 2010-02-04 14:51:28