我有:
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指针(等于运算符不起作用)
答案 0 :(得分:1)
创建一个与前一个相同大小的新数组并输入int,复制所有数据 使用(int)将其转换为int时,从旧版本到新版本。
int[] newArray = new int[hh.length];
for(int i=0; i<hh.length; i++){
array[i] = (int)hh[i];
}