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