【QRデコーダ】 C/C++のQRコード読み取りライブラリlibdecodeqr
libdecodeqrの紹介。
libdecodeqrはC/C++のライブラリで、QRコードをデコードできる。
また、読み込んだ画像の座標とかの情報にもアクセスできる。
本家はこちら
http://trac.koka-in.org/libdecodeqr
ダウンロードしたファイルにlibファイルは含まれないので、自分でコンパイルして作らないといけない。
また、OpenCVも必要だ。
VC++などでヘッダーファイル、ライブラリファイル、リンカの設定を済ませたら準備完了。
以下、使い方。
ヘッダーの指定。
#include "decodeqr.h"
ハンドラーの宣言と定義。
QrDecoderHandle decoder;
decoder = qr_decoder_open();
QRコードのデコード処理。
qr_decoder_set_image_buffer(decoder, image); // imageはOpenCVのIplImage*
if (!qr_decoder_is_busy(decoder)) {
short sz;
for(sz=25, m_stat=0; (sz>=3) && ((m_stat&QR_IMAGEREADER_DECODED) == 0); sz-=2) {
short stat = qr_decoder_decode(m_decoder, sz);
}
}
デコードに成功したらQRコードの本文を取り出せる。
int text_size = 0;
QrCodeHeader header;
if(qr_decoder_get_header(decoder,&header)) {
if (text_size < header.byte_size+1) {
if(text)
delete text;
text_size=header.byte_size+1;
text=new unsigned char[text_size];
}
qr_decoder_get_body(decoder, text, text_size);
}
他にも情報を取り出せる。
qr_decoder_get_body
CvBox2D boxes = qr_decoder_get_finderpattern_boxes(decoder);
CvPoint *vertexes = qr_decoder_get_coderegion_vertexes(decoder);
終了処理。
qr_decoder_close(decoder);

0 件のコメント:
コメントを投稿
登録 コメントの投稿 [Atom]
この投稿へのリンク:
リンクを作成
<< ホーム