ImageJ Overlay ROI zoom

Используя ImageJ, я хотел бы создать функцию масштабирования для области интереса в данном месте. до сих пор у меня что-то вроде этого:

imp = IJ.getImage();
ip = imp.getProcessor();
//fill pixel array with ROI pixels
for(int i = 0; i < height; i++)
{
for(int j = 0; j < width; j++)
{
pixels[i][j] = (float)ip.getPixel(xPos + i, yPos + j);
}
}

У меня есть массив пикселей, теперь я хочу создать область интереса, содержащую эти пиксели, увеличенные в углу моего изображения. Я смотрел на API-интерфейс ROI ImageJ, но, похоже, не в правильном направлении. Любое руководство было бы здорово. Я ищу функцию, которая заполнила бы ROI значениями пикселей, которые у меня есть. Заранее спасибо.

1 ответ

Решение

Вы, наверное, ищете класс ImageRoi, Этот код покажет выбранные Рои в оверлее в левом верхнем углу (в 2 раза больше).

ImageProcessor cropped = IJ.getImage().getProcessor().crop(); //image from currently selected roi
ImageProcessor scaled = cropped.resize(cropped.getWidth()*2,cropped.getHeight()*2);  //magnified image
Overlay overlay = new Overlay(new ImageRoi(0,0, scaled));    
IJ.getImage().setOverlay(overlay);
Другие вопросы по тегам