RenderedImage -> значения RGB - PullRequest
       6

RenderedImage -> значения RGB

2 голосов
/ 04 февраля 2010

Я использую интерфейс RenderedImage для чтения изображений TIF.Как я могу получить все значения rgb этой картинки в 2d-массиве следующим образом:

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)!

Кто-нибудь знает это?

Большое спасибо за вашу помощь!

Ответы [ 2 ]

2 голосов
/ 04 февраля 2010

getData() возвращает Raster, который имеет метод getData().

Можете ли вы позвонить YourRenderedImage.getData().getPixel(int x, int y, int iArray[]), чтобы получить значения RGB?

JavaDoc: возвращает образцы в массиве int для указанного пикселя. ArrayIndexOutOfBoundsException может быть выброшено, если координаты не в границах.

Raster.getPixel () - JavaDoc

Я считаю, что элементы, возвращаемые массивом int, представляют собой: красный, зеленый, синий, альфа и шестнадцатеричный ключ, но я точно не знаю.

0 голосов
/ 05 февраля 2010

Как и 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);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...