Rectangular Micro QR Code (rMQR)

Just adding color increases the capacity of rMQR to 3x. Since CMYK and color camera are very common and easily available we can adopt it!

Public Chat
Similar projects worth following
Compared to the days when UPC/EAN codes were introduced, for reading the barcode and processing and decoding the barcode was a difficult and challenging task. There were barcode reading wands and very low resolution photodiode arrays and CCD sensor used decades ago. Those days only 9 pin or 24 pin DOTMATRIX printers were widely used. Inkjet and laser printers were very rarely used and quite expensive.
But now with the advancement in both printing and cameras, it is very easy to realize using CMYK inks for printing and color camera for decoding the barcode information in color.
Recently came across the ISO/IEC 23941:2022 standard which governs the Rectangular Micro QR Code (rMQR) barcode.
We can simply add 3x capacity to not only to rMQR but applicable to most of the barcodes.

  1. What is rMQR Code?

rMQR Code is a matrix-type, two-dimensional code that is easy to read and can store large amounts of information, while being a rectangular shape that makes it easy to print in narrow spaces. It addresses the need to print in narrow spaces where conventional QR Code could not be printed, and to store more information than possible with Micro QR Code.

rMQR Code Features

  • 1: Rectangular for long, narrow margins
  • 2: Large capacity
  • 3: Rapid scanning

The rMQR Code has the four encoding modes Numeric, Alphanumeric, Byte and Kanji to convert data efficiently. 

You can read more details about rMQR code from DENSO or from IEC standard ISO-IEC-23941-2022

Before start doing any experiment we need the following: 
Internet access for online printing the rMQR, mobile phone app for reading and decoding the rMQR and simple image processing using imageJ software.

To read the rMQR, download the SW application from Google Play or App Store application developed by Denso wave.

Or visit the Denso Wave site for more details for downloading the QRQR app for smartphones.

we can generate the rMQR code online using Takahiro Tomita site. Or just scan the below rMQR code to reach the site.

The python source code of the rMQR code generator project can be found in the Github or at PyPI

For image processing we will be using National Institutes of Health's ImageJ available for free download from HERE

Some color basics:

For display RGB colors are used while printing CMYK colors are used. We can either use additive or subtractive process.

Splitting the RGB channels:

The above image is a RGB composite image. If we split the Red, Green and Blue layers we will be getting the following.

The top 3 images are monochrome images with RGB channel seperation and image channel name mentioned in the image top. The bottom images are also the same with channel color. To get the bottom 3 images we need to select the Composite Image option in the ImageJ after loading the Composite Image.

Applying the same concept in the reverse we can add 3 Monochrome images to form a single Composite color image.

In the following we will try to combine 3 monochrome barcode images into a single composite RGB image.

Image I - SMART - RED channel - 7x43
Image II - DREAM - Green channel - 7x43
Image III - POWER - Blue channel - 7x43

If we combine the above 3 monochrome channels into composite RGB image we will be getting as image below

The resultant image having RGB and CMYK colors. If we notice the Composite image, the finder pattern, sub-finder pattern, alignment pattern along with timing pattern remains in black. These are common for all the above 3 images so it becomes black. If there is no overlapping pixels, it will be represented in the original channel color(Red,Green or Blue). If there are two channels sharing a common pixel, the pixel will change from RGB to CMY depends upon which 2 channels shares the pixel. If all the 3 channels shares a common pixel, the pixel color will become black.

Now we will take the resultant Composite image and try to retrive the original 3 channels or 3 monochrome barcodes.

The above is the result of the splitted RGB channels from the composite image. Now we got all the 3 images back without any loss of information.

ImageJ menus:

To merge 3 images first we need to open 3 images of same size. Then in the Image tab got to Color > Merge Channels

After selecting Merge Channels, there will be a screen pop-up to assign the desired channel to the images as follows.

You can assingn the Channels C1, C2 and C3 with the desired images in any order. But while splitting we will get the images in the same order. So if you have any preference in sequence, it should be followed. If you need the source images, you need to check the Keep source images box. After clicking OK, we will get the Composite image as below.

Now you can...

Read more »

  • rMQR scanner

    mit4130108/01/2023 at 16:44 0 comments

    2023/08/01 (TUESDAY)

    Today I tried to install one more rMQR code scanner app for Android phone from Google Play.

    The SCANDIT app supports rMQR code for scanning.  The app is available as demo version capable of scanning all types of barcode.

    you have to select ANY CODE option for scanning rMQR code. The scanner is able to read the 150 digits of Pi code without any errors.

    The above is the scan result of Pi value for 449 digits split into 3 groups. 

    Compared to QRQR barcode scanner app, there are some differences observed.

    • SCANDIT app is capable of reading the code ONLY when the background is WHITE. But QRQR app is able to read the rMQR code with any background color. QRQR app is capable of reading the RED, GREEN and BLUE background rMQR codes easily.
    • Similary the SCANDIT app is NOT capable of reading the inverted rMQR code. So the scanner app is NOT capable of reading the BLACK background with WHITE code. But QRQR app was able to read the inverted rMQR easily.

View project log

Enjoy this project?



TheStumbler wrote 07/27/2023 at 20:57 point

There's an issue with your link to the QR code generator GitHub repository. There are two 'https://' in the start of the URL. 

  Are you sure? yes | no

mit41301 wrote 07/29/2023 at 05:38 point

Thank you. Fixed the link. 

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates