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 に答える