Issues with QRCode on Kinect

Nov 3, 2012 at 6:03 PM

I'm trying to decode QRCode using Kinect Camera:

Bitmap image = (Bitmap) Bitmap.FromStream(ms);
BarcodeReader reader = new BarcodeReader{ AutoRotate = true, TryHarder = true };
Result result = reader.Decode(image);

This code is working with a still image on my computer screen caputred by the kinect:

On my screen:
https://dl.dropbox.com/u/255810/Temporaire/Kinect/qr_valid.png

What the kinect see and decode:
https://dl.dropbox.com/u/255810/Temporaire/Kinect/qr_valid_eye.png

So really amazing !

BUT It can't decode the orignal piece of paper ... I guess it is the luminosity of the screen that helps ...

How can I improve my code to make it works ? (I tried the Binary thing but not seems working at all)

Coordinator
Nov 3, 2012 at 7:29 PM

Please try to reduce the size of the image to 25 or 50 percent of the original image if the barcode is every time as big as within the image qr_valid_eye.png.
Barcodes which are scanned with a high resolution which results in big barcode images can make trouble. In that case there is to much place for noise or the images are to blurry.

To speed up the processing you can set

BarcodeReader reader = new BarcodeReader{ AutoRotate = true, TryHarder = true, PossibleFormats = new List { BarcodeFormat.QR_CODE } };
Nov 3, 2012 at 8:51 PM

Ok thanks, I found why it didn't work: 

  • The kinect image is Flip
  • Displayed on computer screen it is flipped back and work
  • So for the paper it do not work, and I only have to flip the Bitmap before ^^
Coordinator
Nov 3, 2012 at 9:13 PM

You are right. I didn't see that. Seems to me that I should introduce an AutoFlip property. ;)

Little bit off topic: what kind of solution do you want to realize with ZXing.Net and kinect? Augumented Reality?

Nov 10, 2013 at 1:14 PM
Oops sorry didn't see the last answer. Here is the project: http://encausse.net/s-a-r-a-h

In fact I use QRCode to trigger HTTP Request like I did with voice and gesture recognition. I flip the image to fix the problem.

I tryied with product barcode like BarcodeFormat.UPC_ and BarcodeFormat.UPC_E but the Image quality is too bad to be recognized