Skip to content
/ QR-IO Public

Provides an easy method to read and write QR codes.

License

Notifications You must be signed in to change notification settings

YamanSD/QR-IO

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

72 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

QR-IO 🖨

C++ CMake OpenCV

QR-IO - QR Code

Description

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.

Features

  • 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.

Upcoming features

  • QR reading.
  • Automatic structured append.
  • Automatic Kanji encoding.

Requirements

Before running the program, ensure you have the following installed on your system:

  • C++ Compiler that supports C++20.
  • OpenCV2
  • CMake

Usage

  1. Clone the QR-IO repository to your local machine.
  2. Add your main to the directory.
  3. 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
    ...
  1. Navigate to the directory & run the following commands:
    • cmake .
    • make
      • On Unix: ./QR_IO
      • On Windows: .\QR_IO
  • You can check the demo.cpp for example usage.
  • You can also use the pre-compiled executables included in the project.

Example QRs

  • "This is a test" (1-L):

    QR-IO - QR Code

  • "This is a test" (1-M):

    QR-IO - QR Code

  • "This is a test" (1-Q):

    QR-IO - QR Code

  • "This is a test" (1-H):

    QR-IO - QR Code

  • "This is a test" (25-H):

    QR-IO - QR Code

  • "This is a test" (1-H):

    QR-IO - QR Code

  • "This is a test" (1-H):

    QR-IO - QR Code

  • Check qrw_1 in demo.cpp:

    QR-IO - QR Code

  • Check qrw_2 in demo.cpp:

    QR-IO - QR Code

  • "This is a Kanji test: \u935F\uE4AA\u89D7\uE4AA!":

    QR-IO - QR Code

  • "You can also use regular strings!":

    QR-IO - QR Code

  • An innocent google search link ;) (non-malicious):

    QR-IO - QR Code

  • "Hello world!" in binary:

    QR-IO - QR Code

About

Provides an easy method to read and write QR codes.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published