插件的目标是从堆栈中取一个切片,然后创建一个新堆栈,其中包含相同切片但具有不同对比度的多个图像。
我写了一个for循环,但结果不是我想要的。创建了新堆栈,但每个切片中的图像始终相同。 我在这里缺少什么?
public void run(ImageProcessor ip) {
ImageProcessor ip2 = ip.duplicate();
ImageStack nstack = new ImageStack(stack.getWidth(),stack.getHeight());
ip2.snapshot();
for(int i=0; i<256; i=i+10){
ip2.setMinAndMax(0,i);
nstack.addSlice("Contrast "+i, ip2);
ip2.reset();
}
ImagePlus imp2= new ImagePlus("teste", nstack);
imp2.show();
}}
答案 0 :(得分:0)
迈克尔施密德在ImageJ mailing list上指出,
亮度&amp;对比度设置决定数据的方式 显示,它们不会影响实际数据
如果是8位图像,您可以在设置对比度后使用ByteProcessor
class的applyLut()
方法:
ip2.setMinAndMax(0,i);
ip2.applyLut();