0
私はXamarin Androidプロジェクトを持っています。私はカメラからQRコードを認識して、同時に画像を保存したいと思います。私はカメラから画像を取得するためにAndroid.Hardware.Camera.IPreviewCallbackを使用しました。イメージの保存は期待どおりですが、QRコードの認識は失敗します。ここに私のコードは次のとおりです。ZXingライブラリを使用して画像からQRコードを認識する方法は?
var result = reader.decode(binaryBitmap);
へ
void Android.Hardware.Camera.IPreviewCallback.OnPreviewFrame(byte[] data, Android.Hardware.Camera camera)
{
byte[] jpegData = ConvertYuvToJpeg(data);
Bitmap bitmap = BytesToBitmap(jpegData);
SaveBitmapImage(bitmap); // This works great
var width = (int)_textureView.Width;
var height = (int)_textureView.Height;
// How to get LuminanceSource??
//LuminanceSource source = new RGBLuminanceSource(rgbValues, bm.Width, bm.Height, RGBLuminanceSource.BitmapFormat.ARGB32);
//LuminanceSource source = new RGBLuminanceSource(jpegData, width, height);
LuminanceSource source = new PlanarYUVLuminanceSource(data, width, height,
0, 0, width, height, false);
BinaryBitmap binaryBitmap = new BinaryBitmap(new HybridBinarizer(source));
QRCodeReader reader = new QRCodeReader();
var result = reader.decode(binaryBitmap);
}
コールは常にnullを返します。
編集:
カメラに問題があるようです。それはQRコードに焦点を当てていない、画像がぼやけており、ZXingライブラリはそれを解読することができません。どのようにカメラの焦点を合わせることができますか?