QR-IO is a mini-library for QR code generation & reading. It is based on the ISO/IEC 18004:2015 standard. The project utilizes OpenCV2 to generate the QR images. Currently supports generating QR codes only.
- Easy-to-use C++ interface.
- Utilizes the OpenCV library for image processing and QR code generation.
- Generates high-quality QR code images.
- Uses the most efficient encoding for all strings that are either pure Kanji or do not contain any Kanji (Annex J).
- Automatic encoding.
- Manual ECI usage.
- Manual structured append without ECI.
- FNC1 encoding.
- Custom light & dark colors.
- QR reading.
- Automatic structured append.
- Automatic Kanji encoding.
Before running the program, ensure you have the following installed on your system:
- C++ Compiler that supports C++20.
- OpenCV2
- CMake
- Clone the QR-IO repository to your local machine.
- Add your main to the directory.
- Modify the following section in the CMakeLists.txt file:
...
add_executable(
QR_IO
demo.cpp <- Replace with the name of your main file and add your files
...
- Navigate to the directory & run the following commands:
cmake .
make
- On Unix:
./QR_IO
- On Windows:
.\QR_IO
- On Unix:
- You can check the demo.cpp for example usage.
- You can also use the pre-compiled executables included in the project.
-
"This is a test" (1-L):
-
"This is a test" (1-M):
-
"This is a test" (1-Q):
-
"This is a test" (1-H):
-
"This is a test" (25-H):
-
"This is a test" (1-H):
-
"This is a test" (1-H):
-
Check qrw_1 in demo.cpp:
-
Check qrw_2 in demo.cpp:
-
"This is a Kanji test: \u935F\uE4AA\u89D7\uE4AA!":
-
"You can also use regular strings!":
-
An innocent google search link ;) (non-malicious):
-
"Hello world!" in binary: