Example Render QR Code

From BoofCV
Jump to navigationJump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

This example shows how a QR Codes can be rendered into an image. Its easy to adapt the approach here for just about any file format.

Example Code:

Concepts:

  • Fiducials
  • QR Codes

Relevant Examples/Tutorials:

Relevant Videos:

Example Code

/**
 * A simple API is provided for creating your own QR Codes. Used extensively in BoofCV for testing purposes.
 * It's also easy to extending the rendering tools to support other file formats.
 *
 * @author Peter Abeles
 * @see boofcv.alg.fiducial.qrcode.QrCodeGenerator
 */
public class ExampleRenderQrCode {
	public static void main( String[] args ) {
		// Uses a flow pattern to specify the QR Code. You can control all aspects of the QR
		// like specifying the version, mask, and message types or let it select all of that for you.
		QrCode qr = new QrCodeEncoder().
				setError(QrCode.ErrorLevel.M).
				addAutomatic("This is a Test ん鞠").fixate();
		// NOTE: The final function you call must be fixate(), that's how it knows it's done

		// QrCodeGenerator is the base class with all the logic and the children tell it how to
		// write in a specific format. QrCodeGeneratorImage is included with BoofCV and is used
		// to create images
		var render = new QrCodeGeneratorImage(/* pixel per module */ 20);

		render.render(qr);

		// Convert it to a BufferedImage for display purposes
		BufferedImage image = ConvertBufferedImage.convertTo(render.getGray(), null);

		// You can also save it to disk by uncommenting the line below
//		UtilImageIO.saveImage(image, "qrcode.png");

		// Display the image
		ShowImages.showWindow(image, "Rendered QR Code", true);
	}
}