您好我需要访问ImagePlus的每个像素进行图像分析。
由于需要处理大量图像,我想知道是否有特殊的有效方法/方法来访问和/或修改imagePlus中的每个像素? 我自然而然提出的唯一想法是通过图像矩阵进行双循环,这需要几十秒才能在1000x1000图像上实现。 这是我的代码:
ImagePlus Iorg = IJ.openImage("Demo1.png");
int[] pix = Iorg.getPixel(5, 5);
if(Iorg.getSlice() != 1) {
System.exit(0);
}
for(int w=0; w< Iorg.getDimensions()[0]; w++) {
for(int h=0; h<Iorg.getDimensions()[1]; h++) {
System.out.println(w + " x " + h);
// DO what needs to be done
}
}
有什么想法吗?
答案 0 :(得分:0)
由于图像为uchar
,您想要做的是等同于
if(selected_pixel==255)
selected_pixel = 1;
else
selected_pixel = 0
你可以创建更容易的面具。我不知道 java ImagePlus ,但在 matlab 中它是mask = image==255;
。
根据您的需要尝试使用这种矩阵运算。我确信这些方法应该在库中的某个位置(如果ImagePlus是图像处理库。)