画像のインポート

ImpImageXファンクションは、スクリプトを使って画像ファイルをOriginにインポートします。 デフォルトで、画像ファイルはOriginに画像(RGB値など)として保存されます。 その画像をグレースケールに変換するオプションがあります。

Multiple-file importing is supported.デフォルトで、複数の画像ファイルは、新しいレイヤを作成して、目的のページに追加されます。 行列にインポートする場合、各行列のレイヤはインポートするファイル名になります。

行列に画像をインポートしデータに変換する

このサンプルは、1つの画像ファイルを行列にインポートし、(RGBカラー)画像をグレースケールに変換し、それらを新しい行列に保存します。

newbook mat:=1;              // 新しい行列ブックを作成
fpath$ = "Samples\Image Processing and Analysis\car.bmp";
string fname$ = system.path.program$ + fpath$;
 
// アクティブウィンドウにパス 'fname$' のイメージをインポート 
//(新しい行列ブック)
impimage;    
 
// イメージをグレースケールに変換し、新しい行列に入れる  
// 'type' はビット深度を指定。  0=short (2バイト/16ビット、デフォルト) 
// 1=byte (1バイト/8ビット)                                        
img2m type:=byte;

1つの画像を行列にインポートする

このサンプルは新しい行列ブックに一連の *.TIF画像をインポートします。 上記で示した img2m Xファンクションの代替として、キーボードショートカット Ctrl+Shift+dCtrl+Shift+i を使って、行列データと画像データの表示を切り替えることができます。

newbook mat:=1;
fpath$ = "Samples\Image Processing and Analysis\";
string fns, path$ = system.path.program$ + fpath$;
// 「myocyte」からはじまるファイル名のファイルを検索
findfiles f:=fns$ e:="myocyte*.tif";
// 各ファイルを新しいシートにインポート (options.Mode = 4)                 
impimage options.Mode:=4 fname:=fns$;

複数の画像を行列ブックにインポートする

このサンプルは、JPG画像のフォルダを異なる行列ブックにインポートします。

string pth1$ = "C:\Documents and Settings\All Users\"
string pth2$ = "Documents\My Pictures\Sample Pictures\";
string fns, path$ = pth1$ + pth2$;
// すべての *.JPG ファイルを探す (デフォルトで、「path$」にある)
findfiles fname:=fns$ ext:="*.jpg";   
// 見つかったファイル数をint変数「n」に割り当てる
// 「CRLF」 ==> ファイルを「carriage-return line-feed」で分ける    
int n = fns.GetNumTokens(CRLF);            
string bkName$;
string fname$;
// すべてのファイルをループし、それぞれを新しい行列ブックにインポート
for(int ii = 1; ii<=n; ii++)               
{
    fname$ = fns.GetToken(ii, CRLF)$;

    //新しい行列ページを作成
    newbook s:=0 mat:=1 result:=bkName$;   
    //行列ページの最初のレイヤにイメージをインポート
    //デフォルトのファイル名はfname$ 
    impimage orng:=[bkName$]msheet1;       
}

画像をグラフレイヤにインポートする

既存のグラフレイヤに画像をインポートすることもできます。 この画像は表示のためだけのものです。(行列に変換しなければ、データは表示されません。)

string fpath$ = "Samples\Image Processing and Analysis\cell.jpg";
string fn$ = system.path.program$ + fpath$;
insertImg2g fname:=fn$ ipg:=graph1;