※画面を横にするとパソコン版のレイアウトでご覧いただけます。
 正しく表示されていない場合は横向きでご覧ください。

XCLIB/XCLIB-IPL プログラマライブラリ

製品名

XCLIB/XCLIB-IPL

XCLIB-IPL サンプルコード

このページではEPIX製品専用/XCLIB-IPLのサンプルコード例を解説します。詳細はお問い合わせください。

XCLIB-IPLは画像取り込み+画像処理用の関数群を統合したソフトウェア開発用ライブラリになります。

サンプルコード

XCLIB-IPL関数
イメージバッファーアクセス

struct pximage im1, im2, im3;
struct pxy xysize = {752, 480};
unsigned char buffer[752][480];
void *mallocbuf = NULL;

im1 = *pxd_defineImage(1,1,  // ボードバッファー1のイメージ
0,0,-1,-1,..,"Grey");         // へアクセス

pximage_memory(&im, buffer, // malloc()メモリー確保された
&xysize, PXDATUCHAR,    // イメージへのアクセス,
8, 1,                 // チャラ型 サイズ 752x480,
PXHINTGREY, 0);         // 8 ビットパーピクセル                    // カラー, モノクローム

pximage_memmalloc(&im3, // 新しいイメージの生成とアクセス
&mallocbuf,&xysize,      // チャラ型 752x480,
PXDATUCHAR, 8,      // 8 ビットパーピクセル,
1, PXHINTGREY);       //カラー, モノクローム


pxip8_pairsub(&im1, &im2,   // イメージ2からイメージ1の
&im3, 0);              // ピクセルを引き算
                   //イメージ3に結果を表示

各フレームの
シーケンスキャプチャ
(TIFFフォーマット)

struct pxio8tiffparm tiffparm;
memset(&tiffparm, 0, sizeof tiffparm);
tiffparm.bits = 8;        // セーブするビット数をセット
tiffparm.description = "Test Run #4";     // 短い記述

for (int i = 0; i < 100; i++)  // バッファー100にシーケンスを保存
pxio8_tiffwrite(NULL,
pxd_defineImage(1,i+1,0,0,-1,-1,..,"Default"),
"RUN4.TIF", i,         // イメージバッファーiから & ファイル名へ
NULL, &tiffparm, 0);     // の全AOI & サブイメージ数

選択したカラースペース
でのオペレーション

struct pximage *ip1, *ip2, *ip3;
unsigned long histogram[16], cnt;

ip1 = pxd_defineImage(1,1 ,  // ボード バッファー1のイメージへアクセス,
188,120,564,360,         // イメージ(752x480)中心から1/4のAOI
.., "BofRGB");          // RGB カラースペース,
// RGBの青 カラー#3へアクセス

pxip8_histab2(NULL, ip1,    // AOI 青のヒストグラム
histogram,16); // binned into 16 ranges.

ip2 = pxd_defineImage(1,1,   // ボード バッファー1のイメージへアクセス,
0,0,-1,-1,..,            // HSBとして全イメージAOI,
"SofBSH");            // HSBのサチュレーション カラー#2へのアクセス

pxip8_pixthresholdcnt(NULL,     // サチュレーションのカウント
ip2, 42, 0,&cnt);             // 値>= 42

ip3 = pxd_defineImage(1,2,    // ボードバッファー2のイメージへアクセス,
0,0,-1,-1,..,             //HSBとして全イメージAOI,
"SofBSH");            // HSBのサチュレーション カラー#2へのアクセス

pxip8_copy(NULL,&ip3,&ip2);  //バッファー2から バッファー1の
// サチュレーションを設定,
// ヒュー&ブライトネスは規定値

15x15
コンボリューション実行

int kernel[15][15], i, j;    // ローパスとして15x15カーネルを定義
for (i = 15; i--; )       // 全て係数1のフィルタ
for (j = 15; j--; )
kernel[i][j] = 1;

pxip8_NxNconvolve(    // 15x15コンボリューションをAOI100x100で実行
pxd_defineImage(1,1,0,0,100,100,..,"Grey"),//バッファー1 AOIの 結果へ

pxd_defineImage(1,2,0,0,100,100,..,"Grey"),
15, kernel, 0, 0, 0);                //バッファー2.

ページ上部へ戻る