Git Product home page Git Product logo

micrographyqrcodes's Introduction

Micrography QR Codes

This is the C++ implementation of the paper Micrography QR Codes (IEEE TVCG 2019)

Introduction

Micrography QR codes is a novel machine-readable graphic generated by embedding a QR code within a micrography image. The unique structure of micrography makes it incompatible with existing methods used to combine QR codes with natural or halftone images. We exploited the high-frequency nature of micrography in the design of a novel deformation model that enables the skillful warping of individual letters and adjustment of font weights to enable the embedding of a QR code within a micrography. The entire process is supervised by a set of visual quality metrics tailored specifically for micrography, in conjunction with a novel QR code quality measure aimed at striking a balance between visual fidelity and decoding robustness. The proposed QR code quality measure is based on probabilistic models learned from decoding experiments using popular decoders with synthetic QR codes to capture the various forms of distortion that result from image embedding. Experiment results demonstrate the efficacy of the proposed method in generating micrography QR codes of high quality from a wide variety of inputs. The ability to embed QR codes with multiple scales makes it possible to produce a wide range of diverse designs. Experiments and user studies were conducted to evaluate the proposed method from a qualitative as well as quantitative perspective.Project Page.

Results

Our method handles inputs with varying complexity. More results and dynamic exhibition can be found in our Online Gallery.

Prerequisite

  • OpenCV 2.4.6
  • OpernGL (glew32、freeglut)
  • Linear System (Taucs)
  • GnuWin32
  • QREncode
  • ZXing & ZBar
  • Json

AppFrame

Data:

  • AppData : Main Data Structure
  • AppQRCData : Data Structure of QR code
  • AppWordArtData
    • HKCWordArtEdt: Data Structure of Micrography Editing
    • HKCWordArtEvi: Data Structure of Micrography Generation
    • MQRCData : Data Structure of Micrography Defomation
  • QRWordArt: Data Structure of Micrography(eg. Steamline、Pattern...)

Algorithm:

  • AppAlgoQRC : QR codes Generation

  • AppAlgoEnergyVisual : Micrography Visual Quality

    • AppAlgoEnergyTextSpace
  • AppAlgoProbabilityModel : QR code Error Probability Module

    • AppAlgoProbabilityModule : Pm
  • AppAlgoQRCodeSegmentation : QR code Image Segmentation

  • AppAlgoQRCodeBGColor : MQRC Background Color Selection

  • AppAlgoEncodingOptimization : Encoding Optimization

    • AppAlgoEncodingRSModify
  • AppAlgoMGWarpingOptimization : Error-aware Micrography Deformation

    • AppAlgoMGWarpingOperator
      • AppAlgoMGStreamlineWarping : Streamline Warping
      • AppAlgoMGLetterWarping : Structure-preserving letter warping
      • AppAlgoMGFontWeightAdjustment : Font Weight Adjustment
  • AppAlgoModuleBlending : Module Blending

  • AppAlgoQRCodeRenderer : Rendering of MQRC

  • AppAlgoQRCodeEvaluation : Evaluation of MQRC

  • AppAlgoZBar : ZBar

  • AppAlgoZXing : ZXing

  • AppAlgoRegionSeg :Image Partioning

  • AppAlgoStreamlineTrace :Streamline Tracing

  • AppAlgoTextAlign :Text Alignment

  • AppAlgoTextBigScale :Scaling Text

  • AppAlgoTextColor :Sampling Text Color

  • AppAlgoTextColorAdjust :Adjusting Text Color

  • AppAlgoTextDelete :Deleting Text

  • AppAlgoTextGeneration :Text Generation

    • AppAlgoTextTyping :Adding Text
  • AppAlgoTextOrderOri :Orientation of Text

Control(UI):

  • From_Event : Events for changing the properties
  • Form_QRCode : Generation of QR codes
  • Form_WordArt: Generation of Micrography
  • Form_MQRC : Generation of Micrography QR codes

View:

  • AppRenderDefault

micrographyqrcodes's People

Contributors

hungsh avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.