bar_Read

バーコードやQRコードが含まれる画像を読み取り、解析結果を返します

bar_Read p1,p2,p3,p4,p5,p6,p7

p1	: バーコード操作インデックス値 (bar_Init 命令から取得)
p2	: 画像形式 (ImageFormat)
p3	: DIB画像データ もしくは HSPのVRAM画像データ
p4	: 画像の幅
p5	: 画像の高さ
p6	: 画像のStride値 (画像データの1行あたりのバイト数)
p7	: BAR_RESULT構造体の変数

(プラグイン / モジュール : hspdsc.dll)

解説

バーコードやQRコードが含まれる画像を読み取り、解析結果を返します。

p1 には bar_Init 命令から取得したバーコード操作インデックス値を指定します。
p2 には 画像形式(ImageFormat)を指定します。HSPでは通常 ImageFormat_BGR を指定します。
p3 には DIBデータ もしくは HSPのVRAMデータを指定します。
mrefdsc_GetImageMem命令で本命令に渡せるデータが取得できます。

p4、p5 には画像の幅と高さを指定します。

p6 には 画像のStride値 (画像データの1行あたりのバイト数)を指定します。
正しい画像の行を判断するために使用する値になります。
RGB(24bit)データはアライメント処理が発生し、画像の幅によって1行あたりのバイト数が変化します。
(単純に 3byte × 幅 とはなりません)
Stride値に0を指定した場合は、画像形式と幅からHSPBAR内で自動計算します。
Stride値にマイナスを指定した場合は、画像データの上下を反転します。

p7 には BAR_RESULT構造体の変数を指定します。
あらかじめ 変数の初期化が必要です。
変数は sdimdim で行います。(dimの方が便利です)
変数のサイズは bar_GetSize() で取得できます。
BAR_RESULT構造体のサイズは32bit、64bitランタイム環境で異なりますので、bar_GetSize() で必ず取得したものを使用してください。

	// 結果格納用変数
	size = bar_GetSize()
	sdim res, size

	// または
	dim res, size / 4		// 4で割る

この命令の正常終了時には stat に 1 以上が返ります。
バーコードやQRコードが見つからなかった場合は、0 が返ります。
引数に誤りがあるなど、エラーが発生した場合は、マイナス値が返ります。

この命令が正常終了した場合に、必要な処理が終わった場合は
必ず bar_Free 命令を呼び出してください。忘れた場合はメモリリークします。

サンプル

	// 読み込み
	bar_Read nIndex, ImageFormat_BGR, vram, x, y, stride, res		// VRAM は BGR 順
	if ( stat < 0 ) {
		dialog "読み込みエラー"
		bar_UnInit nIndex
		end
	} else : if ( stat == 0 ) {
		dialog "画像内にバーコードが見つかりませんでした。"
		bar_UnInit nIndex
		end
	}
	// 以降、成功
	
	~なにやら処理~
		
	bar_Free res			// 必ず解放!

関連項目

BAR_RESULTBAR_RESULT構造体(hspdsc.dll)
ImageFormat画像形式を指定するための定義値(hspdsc.dll)
bar_InitHSPBARを初期化します(hspdsc.dll)
bar_GetTextAバーコードの読み取りテキストのポインタ返します(Shift_JIS)(hspdsc.dll)
bar_GetTextU8バーコードの読み取りテキストのポインタ返します(UTF-8)(hspdsc.dll)
bar_CopyTextU8バーコードの読み取りテキストのコピーを返します(UTF-8)(hspdsc.dll)
bar_CopyTextU8_GetSizeバーコードの読み取りテキストのコピーに必要なサイズを返します(UTF-8)(hspdsc.dll)
bar_GetTextU16バーコードの読み取りテキストのポインタ返します(UTF-16)(hspdsc.dll)
bar_GetSizeBAR_RESULT構造体のメモリサイズを取得します(hspdsc.dll)

サンプル逆引き (4)

(HSP3) sample8 [Webカメラ版 バーコード・QRコード読み取り].hsp
(HSP3) sample8 [Webカメラ版 バーコード・QRコード読み取り]_x64.hsp
(HSP3) sample9 [ファイル読み込み版 バーコード・QRコード読み取り].hsp
(HSP3) sample9 [ファイル読み込み版 バーコード・QRコード読み取り]_x64.hsp

情報

プラグイン / モジュールhspdsc.dll
バージョン2.13
作成日2021/6/13
著作者イノビア(inovia)
URLhttps://hsp.moe/
備考HSP向け DirectShow キャプチャプラグイン

【32bit版ランタイムの場合】
hspdsc.asをインクルード
バーコードを使用する場合はhspbar.asをインクルード

【64bit版ランタイムの場合】
hsp3_64.asをインクルード
hspdsc64.asをインクルード
バーコードを使用する場合はhspbar64.asをインクルード
グループhspbar.dll
対応環境
  • その他 : Windows 7 以降、DirectX 11以上
移植のヒントWindows
hs ファイルhsphelp\hspdsc.hs