2

我有:

int32Array hh = int32Array.frompointer(img.getBufferAsInt32());

这是由于采用了指向 simpleitk 图像数据的指针。谁能帮我把这个数组类型转换成一个普通的java数组?

编辑

我尝试了另一种方法,我从 itkImage 类继承并获得指向图像缓冲区的 Cptr 指针,只要我还在 Java 中找到了一个内存指针类,我可以从中获取我的数组

        com.sun.jna.Pointer ptr = new com.sun.jna.Memory(2 * 512 * 512);
       // ptr.share(_pointer);
        int testarr[] = new int[512 * 512];
        ptr.read(_pointer, testarr, 0, testarr.length);

现在的问题是如何将 Cptr 指针复制到 Java 指针中(等号运算符不起作用)

4

1 回答 1

1

创建一个与前一个大小相同的新数组并键入 int,将所有数据从旧数组复制到新数组,同时使用 (int) 将其转换为 int。

 int[] newArray = new int[hh.length];

    for(int i=0; i<hh.length; i++){
        array[i] = (int)hh[i];
    }
于 2013-01-02T13:23:19.677 回答