ログイン TOPに戻る
また、Perlばっかりずるいので、
PHP版も作って見た。

decodeqr-0.0.1.tar.gz


WEBサービスもやってみた。
http://www.netflowers.co.jp/decodeqr/

使い方は、
まず、

OenCVとlibdecoderqrをインストール
http://sourceforge.net/projects/opencvlibrary/

http://trac.koka-in.org/libdecodeqr

decoderqrをダウンロードして、
解凍

tar zvfz decodeqr-0.0.1.tar.gz
cd decodeqr-0.0.1
phpize
./configure
make
make install

で、php.iniに

extension_dir = "/usr/local/lib/php/extensions/no-debug-non-zts-20060613/"
extension=decodeqr.so

ってすると、

$str = decodeqr(ファイル名);

で、デコードした内容がかえって来るようになる。
だめな場合はfalseが帰ってきます。

認識率がかなりだめみたいで、うまく認識できるQRコードを探す方が難しいです。。。。。
まぁ、ねたと言うことで、、、、

codegenも公開。
生まれて二回目のcodegenです。間違ってたらごめん。

decodeqr.xml

<?xml version="1.0" ?>
<extension name="decodeqr" version="1.0.0">
 <deps language="c" platform="all">
  <with defaults="/usr:/usr/local" testfile="include/decodeqr.h">
   <header name="opencv/cv.h" />
   <header name="opencv/highgui.h" />
   <header name="decodeqr.h" />

   <lib name="decodeqr" platform="all" />
   <lib name="cv" platform="all" />
   <lib name="cvaux" platform="all" />
   <lib name="highgui" platform="all" />
   <lib name="cxcore" platform="all" />
   <lib name="ml" platform="all" />

  </with>
 </deps>
 <function name="decodeqr">
  <proto>array decodeqr(string filename)</proto>
  <code>
    <![CDATA[

    IplImage *image;
    QrDecoderHandle decoder;
    QrCodeHeader header;
    char *buf;

    image = cvLoadImage(filename, 1);
    if (!image) {
      RETURN_FALSE;
    }
    decoder = qr_decoder_open();

    (void) qr_decoder_decode_image(decoder, image,
            DEFAULT_ADAPTIVE_TH_SIZE, DEFAULT_ADAPTIVE_TH_DELTA);

    if (qr_decoder_get_header(decoder, &header)) {
        buf = emalloc(header.byte_size + 1);
        qr_decoder_get_body(decoder, (unsigned char *)buf, header.byte_size + 1);
        RETURN_STRING(buf, 1);
        efree(buf);
    } else {
        RETURN_FALSE;
    }
    qr_decoder_close(decoder);
    cvReleaseImage(&image);
   

    ]]>
  </code>
 </function>

</extension>





コメントはこちらから
名前:
通信:
※オーナーにのみ表示されます。(mail やホームページのurl等ご入力ください)
本文:
トラックバックはこちらから
トラックバックURL: