フレームバッファーアクセス |
pxd_PIXCIopen("", "NTSC", ""); // 標準のNTSCフォーマット又は
//pxd_PIXCIopen("", "CCIR", ""); // CCIRフォーマット又は
//pxd_PIXCIopen("", "", "VIDEO.FMT") // .. 独自フォーマット
pxd_doSnap(0x1, 1, 0); // スナップイメージ取得待ち
// モノクロデータへのアクセス
unsigned char buf[1024]; // サイズ>= # ピクセル per AOIライン
unsigned long c = 0;
int i, j, y;
for (y = 0;; y++) {
i = pxd_readuchar(0x1, 1, 0, y, -1, y+1, buf, sizeof(buf), "Grey");
if (i <= 0) // イメージの次のラインを読み込み
break; // ラインの最後まで読み込み後
for (j = 0; j < i; j++) // スキャンして
if (buf[j] < 64) // テストごピクセルカウント
c++; // .. 64未満の値で
}
// RGBデータの1ラインへアクセス
pxd_readuchar(0x1, 1, 0, 0, -1, 1, buf, sizeof(buf), "RGB");
printf("Pixel at (0,20) is %d/%d/%d\\n", buf[20+0], buf[20+1], buf[20+2];
// RBGのRデーターの1ラインへアクセス
i = pxd_readuchar(0x1, 1, 0, 0, -1, 1, buf, sizeof(buf), "RofRGB");
for (j = 0, c = 0; j < i; j++)
c += buf[j];
printf("Red componnent average is %f\\n", (double)count/i); |
インターアクティブ
シーケンス取り込み |
nt b;
pxd_PIXCIopen("", "NTSC", ""); // 標準NTSCフォーマット又は
//pxd_xcopen("", "CCIR", ""); // .. CCIRフォーマット又は
//pxd_xcopen("", "", "VIDEO.FMT"); // .. 独自フォーマット
for (b = 1; b <= pxd_imageZdim(); b++) { // 全てのバッファーラン
printf("Key ENTER to capture buffer #%ld\\n", b);
while (getchar() != '\\n') ; // ユーザトリガー待機
pxd_doSnap(0x1, b, 0); // バッファー'b'への取り込み
}
printf("All buffers captured.\\n");
|
イメージ取り込みと
VGA表示 |
HDC hDC; RECT rect;
pxd_PIXCIopen("", "RS-170", ""); // 標準RS170フォーマット又は
//pxd_PIXCIopen("", "NTSC", ""); // .. NTSCフォーマット又は
//pxd_PIXCIopen("", "NTSC/YC", ""); // .. NTSC S-VIDEOフォーマット又は
//pxd_PIXCIopen("", "CCIR", ""); // .. CCIR,フォーマット又は
//pxd_PIXCIopen("", "PAL", ""); // .. PALフォーマット又は
//pxd_PIXCIopen("", "PAL/YC", ""); // .. PAL S-VIDEOフォーマット又は
//pxd_PIXCIopen("", "", "VIDEO.FMT") // .. 独自フォーマット
// & resolution
hDC = GetDC(hWnd); // イメージウインドウへのハンドル
GetClientRect(hWnd, &rect); // ウインドウサイズの取得
rect.right++; rect.bottom++; // 包括的->排他的
SetStretchBltMode(hDC,STRETCH_DELETESCANS);//ウインドウモードをセット
pxd_doSnap(0x1, 1, 0); // snap image into buffer 1
pxd_renderStretchDIBits(0x1, 1, 0, 0, -1,-1, // フレームバッファーの確保& AOI
0, hDC, // specify window
rect.right/4, rect.bottom/4, // ウインドウの左上から
rect.right/2, rect.bottom/2, // ウインドウサイズ
0); // 表示 |
ライブビデオ
グラフィックオーバーレイ |
pxd_PIXCIopen("", "NTSC/YC", ""); // 標準S-Videoフォーマット又は
//pxd_PIXCIopen("", "PAL", ""); // .. PALフォーマット
pxd_renderDirectVideoInit(1, hWnd); //S/VGAへの init ダイレクトビデオ?
pxd_renderDirectVideoLive(1, hWnd, // S/VGAへのライブビデオ表示
0,0,INT_MAX,INT_MAX, // 位置とウインドウ範囲
RGB(0,0,189),RGB(0,0,189)); // グラフィックオーバーレイに使用するカラーキー
hDC = GetDC(hWnd) // ライブビデオ上にグラフィックオーバーレイ
RECT rect;
SetRect(&rect, 20, 20, 40, 40); // 標準GDI/MFCの呼び出し
DrawFocusRect(hDC, &rect); // グラフィックを引くために使用可能
ReleaseDC(hWnd, hDC); // ライブビデオ上 |