3D立体とC/C++との接続
LibraryLink は2Dおよび3D画像を直接外部ライブラリに送ったり,外部ライブラリから送られたりすることをサポートするよう拡張されている.
次はImageオブジェクトあるいはImage3Dオブジェクトのピクセル値を反転させる例である.color_negate関数は任意のチャンネル数および任意のデータ型を持つ,インターリーブされた画像や平面画像で使うことができる.ここで完全な例をご覧いただきたい.
CCompilerDriverパッケージを使うと,コンピュータにインストールされているコンパイラを利用して,C/C++ソースコードから実行ファイル,ライブラリ,オブジェクトファイルを構築することができる.
In[1]:= | ![]() X |
上記のコードから動的なリンクライブラリを生成する.
In[3]:= | ![]() X |
ここでライブラリがロードされ,colorNegateCpp関数の呼出しがcolor_negate CC++プロシージャにリンクされる.
In[4]:= | ![]() X |
Out[4]= | ![]() |
立体をインポートする.
In[5]:= | ![]() X |
Out[5]= | ![]() |
領域拡張法を使って,8つのコーナーからノイズの多い背景を分割する.
In[6]:= | ![]() X |
Out[6]= | ![]() |
C++ライブラリからcolorNegateCppを適用し,背景を反転させ前景のマスクを生成する.
In[7]:= | ![]() X |
Out[7]= | ![]() |
立体をマスクし,ノイズの多い背景を除去する.
In[8]:= | ![]() X |
Out[8]= | ![]() |