2013-04-22 806 views
3

我有一个简单的插件,它节省了多边形坐标:imageJ如何获得像素RGB值?

Roi roi = imp.getRoi(); 
Polygon p = roi.getPolygon(); 
for (int i = 1; i <= p.npoints; i++) { 
// létrehozzuk az onvif féle vector-t 
org.onvif.ver10.schema.Vector myVector = new Vector(); 
myVector.setX((float) p.xpoints[i - 1]); 
myVector.setY((float) p.ypoints[i - 1]); 
op.getPoint().add(myVector); 
// IJ.log("Vector X Elements " + i + " :" + MyVector.getX()); 

     } 

,但我想要得到的坐标RGB值是这样的: enter image description here

你能帮助我吗? 谢谢!

+0

什么关于CT图像 – 2014-06-12 08:13:26

回答

2

假设图像是32位RGB:

ImagePlus im = IJ.getImage(); 
ImageProcessor imp = im.getProcessor(); 

int[] rgb = new int[3]; 
imp.getPixel(X,Y,rgb); 

IJ.log(Arrays.toString(rgb)); 
+0

HU值感谢您的帮助! – David 2013-04-22 15:20:32

0
int[] r; 

     for (int i = 1; i <= p.npoints; i++) { 

      r = imp.getPixel(p.xpoints[i - 1], p.ypoints[i - 1]); 



      ij.IJ.log("Red: "+ r[0]); 
      ij.IJ.log("Green: "+ r[1]); 
      ij.IJ.log("Blue: "+ r[2]); 
      ij.IJ.log("index: "+ r[3]); 

     }