Added scanning barcodes with a camera
This commit is contained in:
80
quagga2/quagga2-1.12.1/docs/explanation/index.md
Normal file
80
quagga2/quagga2-1.12.1/docs/explanation/index.md
Normal file
@@ -0,0 +1,80 @@
|
||||
# Explanation
|
||||
|
||||
Background knowledge and context about Quagga2. These articles explain *why* things work the way they do, providing deeper understanding beyond just how to use the library.
|
||||
|
||||
## Algorithm & Theory
|
||||
|
||||
### [How Barcode Localization Works](how-barcode-localization-works.md) ⭐ Featured
|
||||
|
||||
Deep dive into the computer vision algorithms that find barcodes in images. Covers:
|
||||
|
||||
- Binary image creation with Otsu's method
|
||||
- Skeletonization
|
||||
- Component labeling
|
||||
- Orientation detection using image moments
|
||||
- Why this approach is rotation/scale invariant
|
||||
|
||||
**Read this if**: You want to understand the "magic" behind barcode detection, optimize performance, or contribute to the localization code.
|
||||
|
||||
## Architecture
|
||||
|
||||
### [How Input Streams Work](input-streams.md)
|
||||
|
||||
Technical deep dive into the three input stream types and their initialization flow. Covers:
|
||||
|
||||
- LiveStream, VideoStream, and ImageStream differences
|
||||
- The async initialization sequence
|
||||
- Why `framegrabber` indicates init completion
|
||||
- Race conditions and how to avoid them
|
||||
|
||||
**Read this if**: You're debugging initialization issues, dealing with React StrictMode, or want to understand the media pipeline.
|
||||
|
||||
### [Algorithm Overview](algorithm-overview.md) *(Coming Soon)*
|
||||
|
||||
High-level overview of Quagga2's processing pipeline from input to output.
|
||||
|
||||
### [Code Architecture](architecture.md)
|
||||
|
||||
Structure of the codebase, module organization, and design decisions.
|
||||
|
||||
## Concepts
|
||||
|
||||
### [Why asm.js for Skeletonization](why-asmjs.md) *(Coming Soon)*
|
||||
|
||||
Explanation of why performance-critical code uses asm.js and what that means.
|
||||
|
||||
### [Reader Design Patterns](reader-patterns.md) *(Coming Soon)*
|
||||
|
||||
How barcode readers are implemented and how to create custom ones.
|
||||
|
||||
## Differences from Other Doc Types
|
||||
|
||||
**Explanation** articles:
|
||||
|
||||
- Provide context and background
|
||||
- Discuss alternatives and trade-offs
|
||||
- Explain historical decisions
|
||||
- Connect concepts together
|
||||
- Are OK to read casually
|
||||
|
||||
**Tutorials**: Step-by-step learning by doing
|
||||
**How-To Guides**: Task-focused, get things done
|
||||
**Reference**: Precise technical specifications
|
||||
|
||||
## When to Read Explanations
|
||||
|
||||
Read these articles when you:
|
||||
|
||||
- Want to **understand** how things work under the hood
|
||||
- Need to **debug** complex issues
|
||||
- Want to **contribute** to the codebase
|
||||
- Are **curious** about design decisions
|
||||
- Want to **optimize** beyond basic tuning
|
||||
|
||||
## Contributing
|
||||
|
||||
Have insights to share about how Quagga2 works? We welcome explanation articles! See the [Contributing Guide](../contributing.md).
|
||||
|
||||
---
|
||||
|
||||
[← Back to Documentation Home](../index.md)
|
||||
Reference in New Issue
Block a user