docs: @Override
  	protected void processImage(ImageBase image) {
  		// Detect the QR Code
  		// GrayU8 image was specified in onCreate()
  		long time0 = System.nanoTime();
  		detector.process((GrayU8)image);
  		long time1 = System.nanoTime();
  		timeDetection.update((time1-time0)*1e-6);
  
  		// Create a copy of what we will visualize here. In general you want a copy because
  		// the UI and image processing is done on two different threads
  		synchronized (foundQR) {
  			foundQR.reset();
  			List<QrCode> found = detector.getDetections();
  			for (int i = 0; i < found.size(); i++) {
  				QrCode qr = found.get(i);
  				foundQR.grow().set(qr.bounds);
  				message = qr.message;
  			}
  		}
  	}