A terminal application written in C++ using the OpenCV library, enabling various image operations such as creating black-and-white copies and recognizing objects through computer vision.
A terminal application written in C++ using the OpenCV library, enabling various image operations such as creating black-and-white copies and recognizing objects through computer vision.
Just finished preparing the first distributable version of VisionCLI
After fighting for an hour i got it to work, now anyone can download the zip file and test my program. The biggest problem was adding the possible paths to find necessary files, so fixed path resolution issues for YOLOv3 files - the application now works both in development environment and as a standalone exe
Now anyone can download the ZIP, extract it, and immediately use object detection without compilation or OpenCV installation.
Log in to leave a comment
A command-line tool in C++ that analyzes images using OpenCV and YOLOv3 for object detection, grayscale conversion, and image display directly from the terminal.
It uses OpenCV’s DNN module to run a pre-trained YOLOv3 neural network on input images. Users provide an image path and flags via CLI11 arguments, then the tool processes the image, detects objects, and displays results. Custom flags allow flexible paths for YOLO config and weight files instead of hardcoded directories.
I learned how to integrate deep learning models into C++ applications, manage large external dependencies with CMake, design flexible command-line interfaces, and balance performance with usability. I also realized the importance of user flexibility—adding custom path support made the tool much more practical for real-world use cases.
When working with object detection models like YOLOv3, it’s common to require specific files, such as yolov3.cfg, yolov3.weights, and coco.names. In many tutorials or examples, these files are often placed in predetermined directories, which are not always convenient for every developer. For instance, the default assumption is sometimes to look for files in C:, a location that might not be universally suitable or accessible.
To address this, I made a small but user-friendly addition to the VisionCLI project. I’ve introduced two new flags that allow users to specify custom paths to their YOLO configuration and weight files directly from the command line:
--cfg-path <path>: Allows you to define the path to the yolov3.cfg file.
--weights-path <path>: Lets you specify the path to the yolov3.weights file.
Log in to leave a comment