QRコードリーダーを作ろうかと・・・
2ヶ月何も作ってなかったが、ネタもないので定番どころになってしまうが、QRコードリーダーを作ろうかと。
このブログでアプリへのリンクにQRコードを表示しているが、それのQRコード生成処理が自作なのだが、
QRコードは仕様かなり難解で、カメラでの撮影だと角度とかの補正もあるから自力で全部作るのは難しいと思うんだが、
数あるAndroidのQRリーダーアプリではZxingってライブラリが使われているみたい。
QRリーダーアプリいくつか使ってみると、どれも同じ処理してるのわかりますが、
って感じかな。
ただ、Zxingのリファレンス見た感じ、DataMatrixって規格のバーコードは詳細取得できそうなんだが、QRコードはできないかも・・・
海外だとQRコードよりもDataMatrixって規格の方が主流なのかな?
カメラ以外に画像ファイルからQR解析できるような機能も付けたいかな。
まず、カメラの画面をアプリに表示するのにSurfaceViewってのを使うぽい。
SurfaceViewは、アニメーション等のUIスレッドと分ける必要がある物を描画するのに使うViewらしい。
Zxingにはビットマップデータを渡すと解析できるぽい。
ので、
まずは、SurfaceViewにカメラを描画するところからかな。
このブログでアプリへのリンクにQRコードを表示しているが、それのQRコード生成処理が自作なのだが、
QRコードは仕様かなり難解で、カメラでの撮影だと角度とかの補正もあるから自力で全部作るのは難しいと思うんだが、
数あるAndroidのQRリーダーアプリではZxingってライブラリが使われているみたい。
QRリーダーアプリいくつか使ってみると、どれも同じ処理してるのわかりますが、
- QR以外のバーコードもまとめて解析しちゃうので、読み取りにくいQRだと誤判別しちゃう。
- テキストの種別を表示するアプリはあるのだが、詳細なQRの種別を表示できるアプリは無い。
って感じかな。
ただ、Zxingのリファレンス見た感じ、DataMatrixって規格のバーコードは詳細取得できそうなんだが、QRコードはできないかも・・・
海外だとQRコードよりもDataMatrixって規格の方が主流なのかな?
カメラ以外に画像ファイルからQR解析できるような機能も付けたいかな。
まず、カメラの画面をアプリに表示するのにSurfaceViewってのを使うぽい。
SurfaceViewは、アニメーション等のUIスレッドと分ける必要がある物を描画するのに使うViewらしい。
Zxingにはビットマップデータを渡すと解析できるぽい。
ので、
まずは、SurfaceViewにカメラを描画するところからかな。