Metadata-Version: 2.1
Name: cvbot
Version: 3.1.5
Summary: Visual based desktop automation toolbox. Supports mouse & keyboard control
Home-page: https://github.com/Runeste3/cvbot
Author: Hisham Moe
Author-email: Hisham Moe <runeste2018@gmail.com>
License: LICENSE
Project-URL: Homepage, https://github.com/Runeste3/cvbot
Project-URL: Issues, https://github.com/Runeste3/cvbot/issues
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: opencv-python
Requires-Dist: numpy
Requires-Dist: mss
Requires-Dist: pynput
Requires-Dist: pywin32
Requires-Dist: easyocr
Requires-Dist: thefuzz[speedup]
Requires-Dist: onnx
Requires-Dist: onnxruntime

# CVBot for desktop automation

**CVBot** is a python package developed to make using computer vision techniques easier and simple to use. 
Its main focus is to *aid in automating visual desktop related tasks* for repetitive work, games and others. Working "like a human".

-------------------------------------------------------------------------------
## Features

- [x] Mouse & keyboard control.
- [x] Control windows and get their position.
- [x] OpenCV image wrapper `Image class` to easily crop, resize, show, and convert images.
- [x] Flexible digits & numbers recognition/matching.
- [x] Powerful image search on screen or a local file.
- [x] Implements sophisticated image search techniques like SIFT.
- [x] Color based object detection.
- [x] Very fast screenshot grab.
- [x] Accurate OCR integrated with `Image class`.
- [x] Artificial Intelligence based object detection support using Yolov7.

## Upcoming

- [ ] Better documentation.
- [ ] More QOL functions and classes.
- [ ] More detection options.

-------------------------------------------------------------------------------
## Simple example

**Detect an object on the screen**

```python
    from cvbot.capture import screenshot
    from cvbot.io import read_img
    from cvbot.match import look_for


    obj = read_img("object.png")    # Read 'object.png' file, (an object currently visible on screen)
    scimg = screenshot()            # Take a screenshot

    pos = look_for(obj, scimg, 0.6) # Image search function, parameters: (needle, haystack, search confidence 1 = 100%)
    print(pos)                      # PRINTS: (188, 538) # None if not found
```

-------------------------------------------------------------------------------
## Links

[Full Documentation](https://cvbot.rtfd.io/)
[Github](https://github.com/Runeste3/cvbot)


