# YOLOv8 OpenVINO Inference in C++ 🦾 Welcome to the YOLOv8 OpenVINO Inference example in C++! This guide will help you get started with leveraging the powerful YOLOv8 models using OpenVINO and OpenCV API in your C++ projects. Whether you're looking to enhance performance or add flexibility to your applications, this example has got you covered. ## 🌟 Features - 🚀 **Model Format Support**: Compatible with `ONNX` and `OpenVINO IR` formats. - ⚡ **Precision Options**: Run models in `FP32`, `FP16`, and `INT8` precisions. - 🔄 **Dynamic Shape Loading**: Easily handle models with dynamic input shapes. ## 📋 Dependencies To ensure smooth execution, please make sure you have the following dependencies installed: | Dependency | Version | | ---------- | -------- | | OpenVINO | >=2023.3 | | OpenCV | >=4.5.0 | | C++ | >=14 | | CMake | >=3.12.0 | ## ⚙️ Build Instructions Follow these steps to build the project: 1. Clone the repository: ```bash git clone https://github.com/ultralytics/ultralytics.git cd ultralytics/YOLOv8-OpenVINO-CPP-Inference ``` 2. Create a build directory and compile the project: ```bash mkdir build cd build cmake .. make ``` ## 🛠️ Usage Once built, you can run inference on an image using the following command: ```bash ./detect ``` ## 🔄 Exporting YOLOv8 Models To use your YOLOv8 model with OpenVINO, you need to export it first. Use the command below to export the model: ```commandline yolo export model=yolov8s.pt imgsz=640 format=openvino ``` ## 📸 Screenshots ### Running Using OpenVINO Model ![Running OpenVINO Model](https://github.com/ultralytics/ultralytics/assets/76827698/2d7cf201-3def-4357-824c-12446ccf85a9) ### Running Using ONNX Model ![Running ONNX Model](https://github.com/ultralytics/ultralytics/assets/76827698/9b90031c-cc81-4cfb-8b34-c619e09035a7) ## ❤️ Contributions We hope this example helps you integrate YOLOv8 with OpenVINO and OpenCV into your C++ projects effortlessly. Happy coding! 🚀