バーコード スキャナの最近のブログ記事

ESP-EYE CameraWebServer with QR Code Detection.

ESP-EYE CameraWebServer with QR Code Detection.

ESP-EYE QR Code Scanner with qrdec. の続きです。

前回の、ESP-EYE を使った、QR Code Scanner で、実際 に、カメラで、QR Code がどのように写っているのか知りたくて作ってみました。

CameraWebServer に、 Face Detect の代わりに、qrdec を使って、QR Detect にしてみました。
グレースケールで、320x240 の画像で、ピンとはどうなのかが確認できました。

ESP-EYE QR Code Scanner with qrdec.

ESP-EYE QR Code Scanner with qrdec.

QR Code Decode C++ with qrdec. の続きです。

QR Code Decode C++ with qrdec. を、ESP-EYE (Esp32 Arduino) でも試してみました。

今回は、ESP32QRCodeReader をベースにして、
の中の、quirc の使用に替えて、qrdec をつかてみました。

開発環境
Ubuntu Mate 22.04 PC
Platform I/O IDE
ボード: ESP EYE
Platform: Arduino

Workspace: ~/Documents/PlatformIO/Projects
フォルダー: qrdec_esp32_eye

1. Platform I/O IDE の PIO-Home で、New Project を作成。
Name: qrdec_esp32_eye
Board: Espressif ESP-WORKER-KIT
Framework: Arduino
で作成します。
1.1 qrdec_esp32_eye/lib ディレクトリーに、上記 ESP32QRCodeReader を、 git clone します。
1.2 qrdec_esp32_eye/lib/ESP32QRCodeReader/examples/basic/basic.ino を、qrdec_esp32_eye/src/qrdec_esp32_eye.ino としてコピーします。
main.cpp は、削除します。
qrdec_esp32_eye.ino を修正します。

この時点で、一度ビルドして、ESP-EYE にアップデートして、動かすと、
quirc 版で、動作すると思います。

1.3 その後、
qrdec_esp32_eye/lib/ESP32QRCodeReader/src/ ディレクトリーに、qrdec をコピーします。

1.4 qrdec_esp32_eye/lib/ESP32QRCodeReader/src/ESP32QRCodeReader.cpp の
void qrCodeDetectTask(void *taskData) を、現状 quircを使っている部分を、qrdec を使うようにします。
概要は、以上です。

QR Code Decode C++ with qrdec.

QR Code Decode C++ with qrdec.

qrdec というのがあったので、試してみました。
quirc より少し重いけど、性能は良いみたいぞね。

開発環境
Ubuntu Mate 22.04 PC

1. git clone
$ cd ~/Documents/VisualStudio-CPP/
$ git clonehttps://github.com/torque/qrdec.git
$ cd qrdec

2. オリジナルのテストプログラムのビルド。
$ make test
/usr/bin/ld: -liconv が見つかりません: そのようなファイルやディレクトリはありません
と怒られた。
libghc-iconv-doc が必要か?
$ sudo apt install libghc-iconv-doc
違うみたい。
$ sudo apt remove --purge libghc-iconv-dev
$ sudo apt autoremove
判らん。
glibc の中に元からあるみたい。
[Build] Build failed due to undefined reference to libiconv #15560
gcc or clang++ みたい。

Makefile が問題みたい。
#TEST_LDFLAGS = $(LDFLAGS) $(shell pkg-config --libs libpng) -liconv $(LIBRARY) -fPIE
TEST_LDFLAGS = $(LDFLAGS) $(shell pkg-config --libs libpng) $(LIBRARY) -fPIE

$ make clean
$ make test
build/qrdec ができた。
実行は、
$ build/qrdec 画像ファイル
ですが、テスト画像は、下記にあります。
mchehab/zbar/examples
qr-code.png


3. build library

$ make clean
$ make production
build/libqrdec.a が出来る。

4. おんちゃんのテストプログラムをビルド。

$ mkdir qrdec_reader-nishi
$ cd qrdec_reader-nishi
この下に、reader.c を参考に、 OpenCV を使った、reader.cc を作ります。
あと、reader.c, image.c, image.h は、ライブラリー外のソースとのことです。
上記、3 ファイルをコピーします。
reader.c を reader.cc に rename して、opencv の処理を組み込みます。

Android Kotlin ML Kit を使用してバーコード スキャン

Google ML Kit のサンプルに、バーコード スキャン があったので、試してみました。
Android で、学習済Model を使って簡単に、機械学習の Object Detection が出来るみたい。
知らない間に、Android で此処までできるようになっていたとは、驚きじゃ!!

バーコード スキャン -> ML Kit を使用してバーコードをスキャンする(Android)

MLKit Samples の android/codescanner を試してみました。

1. ソースのダウンロード。
適当なディレクトリーで、
$ git clone https://github.com/googlesamples/mlkit.git
mlkit/android の下の、
codescanner と、internal ディレクトリーをそれぞれ、
~/AndroidStudioProjects/ 下へコピーします。

このアーカイブについて

このページには、過去に書かれたブログ記事のうちバーコード スキャナカテゴリに属しているものが含まれています。

前のカテゴリはTensorFlow Liteです。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

カテゴリ

ウェブページ

サイトナビ