如何在ImageJ中获取像素值矩阵?

时间:2015-12-16 14:27:56

标签: scala imagej

如果我在斐济教程中忽略了我的问题的答案,我很抱歉。我想我在想;有没有办法从imagePlus,ImageStack或process.ImageProcessor获取有关所有图像像素值的信息(例如在矩阵?或矩阵列表中?

我到目前为止试图获得像素值(我的图像有262144像素),如两条最低行所示。像素现在应该是一个像素值数组,但它是一个我无法作为数组访问的对象。我得到像素是0(这似乎是一个超出界限的返回值),并且pixelValue是-1024。

任何帮助都将非常感激..

import ij._
import java.nio.file.{Paths,Files}

object Main{
    def main(args: Array[String]){ 
        println(ImagesProcessing.read())
    }
}

object ImagesProcessing { 

    def read():Unit = {
        val image: ImagePlus = IJ.openImage("./image.dcm")
        val stack:ImageStack = image.getImageStack()
        val processor: process.ImageProcessor = image.getProcessor().convertToRGB()
        val pixels = processor.getPixels()
        println(pixels)
   }

}

我已经查看了建议的教程,似乎我正在使用正确的函数。我决定转换为RGB,因为在第一个建议的教程中提到了。我唯一看到的是我没做的是类型铸造。我相信我得到了一个Java对象,我不知道如何迭代(我写了一个单独的问题)。

1 个答案:

答案 0 :(得分:2)

也许其中一个选项会有所帮助:

plugin tutorial by Werner Bailer中,有关访问Java插件中各个像素值的示例,请参阅第16-18页。

Albert Cardona's tutorial显示了如何在Jython中完成它。