Recognizing Text and Numbers in Images with Python and EasyOCR
A project needed a small feature for recognizing text and numbers in images, so I found EasyOCR, a useful open-source library. This article explains how to use it.
21 posts
A project needed a small feature for recognizing text and numbers in images, so I found EasyOCR, a useful open-source library. This article explains how to use it.
Explains concepts such as O(n) in time complexity and how to calculate time complexity.
Python has a rich set of useful built-in modules and third-party modules that make it quick and convenient to implement many common features.
This article summarizes basic Python file reading and writing operations, as well as common os operations on directories and files, such as retrieving paths, joining paths, renaming files, and moving files. It also summarizes commonly used JSON operations.
During program execution, you inevitably encounter all kinds of errors. Some are caused by bugs in the code, some by user input, and others are completely unpredictable at runtime. Python includes a built-in exception-handling mechanism to help us handle errors.
Summarizes basic class usage; the characteristics and application examples of encapsulation, inheritance, and polymorphism; and inheritance-oriented advanced features such as multiple inheritance and customized classes.
In Python, less code is better, and simpler code is better. Based on this philosophy, Python provides many useful advanced features, such as list comprehensions, generators, anonymous functions, and decorators.
Notes and examples on functions and methods for array operations with NumPy, including array creation, slicing and indexing, basic array operations (transposing, joining, sorting, flattening, and more), and the use of some basic array computation functions.
We may want to install many different versions of Python on a computer, or we may want a Python environment to contain only the packages we use so it is easier to package and distribute a program. These situations all require creating Python virtual environments. Anaconda is a tool for managing Python environments like this.
The lab recently needed to process many spreadsheets, so I built a Python tool to help. The program uses PyQt5 for the graphical interface. This post records the full workflow—from installing PyQt5, to designing the UI, to writing code that drives the widgets, and finally packaging the app as an exe.
CMake is a cross-platform, open-source meta-build system that can build, test, and package software. It can support multiple native build environments. More and more projects are using CMake as their build tool, making CMake a mainstream build system.
Data generated while a program is running is temporary and is released once the program finishes. Files can be used to persist data. File operations in C++ require an #include directive.
Inheritance is one of the three core features of object-oriented programming. When defining a class, a lower-level class shares the common characteristics of the level above while also having its own characteristics.
Operator overloading redefines existing operators to give them another function, allowing them to work with different data types. This article covers overloading the addition, left-shift, increment, assignment, relational, and function-call operators.
Some private members may need to be accessed by certain functions or classes outside the class, which requires friends. The keyword for friends is fiend. Friends can be implemented in three ways: a global function as a friend, a class as a friend, or a member function as a friend.
In C++, a class's member variables and member functions are stored separately, and only non-static member variables belong to objects of the class. Each non-static member function has only one function instance, meaning that multiple objects of the same type share one block of code. How does the code distinguish which object invoked it? This is where the this pointer comes in.
Every object needs initial setup and cleanup before it is destroyed. Object initialization and cleanup are two very important safety concerns. Using an object or variable without an initial state has unknown consequences; failing to clean up an object or variable in time after use can also cause safety issues.
Encapsulation combines attributes and behaviors into a whole to represent real-world entities, while controlling access to those attributes and behaviors. When designing a class, attributes and behaviors are written together to represent an entity. The syntax is as follows.
In C++, parameters in a function's parameter list can have default values. If an argument is passed to a parameter, the supplied value is used; otherwise, the default value is used. However, if a parameter at a given position has a default argument, every parameter after it must also have a default value.
Fundamentals of Digital Methods: Common Functions. 1. Cross Product 2. Vector Normalization 3. Matrix Multiplication 4. Matrix Multiplication.
Use OpenGL to perform various basic operations, including generating a tetrahedron, importing a local model, and applying matrix operations to a model, for a better understanding of digitization methods.