Are you sure you want to delete this access key?
Welcome to the Ultralytics YOLOv8 OpenVINO Inference example in C++! This guide will help you get started with leveraging the powerful YOLOv8 models using the Intel OpenVINOβ’ toolkit and OpenCV API in your C++ projects. Whether you're looking to enhance performance on Intel hardware or add flexibility to your applications, this example provides a solid foundation. Learn more about optimizing models on the Ultralytics blog.
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 |
Follow these steps to build the project:
Clone the Ultralytics repository:
git clone https://github.com/ultralytics/ultralytics.git
cd ultralytics/examples/YOLOv8-OpenVINO-CPP-Inference
Create a build directory and compile the project using CMake:
mkdir build
cd build
cmake ..
make
Once built, you can run inference on an image using the compiled executable. Provide the path to your model file (either .xml
for OpenVINO IR or .onnx
) and the path to your image:
# Example using an OpenVINO IR model
./detect path/to/your/model.xml path/to/your/image.jpg
# Example using an ONNX model
./detect path/to/your/model.onnx path/to/your/image.jpg
This command will process the image using the specified YOLOv8 model and display the object detection results. Explore various Ultralytics Solutions for real-world applications.
To use your Ultralytics YOLOv8 model with this C++ example, you first need to export it to the OpenVINO IR or ONNX format. Use the yolo export
command available in the Ultralytics Python package. Find detailed instructions in the Export mode documentation.
# Export to OpenVINO format (generates .xml and .bin files)
yolo export model=yolov8s.pt imgsz=640 format=openvino
# Export to ONNX format
yolo export model=yolov8s.pt imgsz=640 format=onnx
For more details on exporting and optimizing models for OpenVINO, refer to the Ultralytics OpenVINO integration guide.
We hope this example helps you integrate YOLOv8 with OpenVINO and OpenCV into your C++ projects effortlessly. Contributions to improve this example or add new features are welcome! Please see the Ultralytics contribution guidelines for more information. Visit the main Ultralytics documentation for further guides and resources. Happy coding! π
Press p or to see the previous file or, n or to see the next file
Browsing data directories saved to S3 is possible with DAGsHub. Let's configure your repository to easily display your data in the context of any commit!
ultralytics is now integrated with AWS S3!
Are you sure you want to delete this access key?
Browsing data directories saved to Google Cloud Storage is possible with DAGsHub. Let's configure your repository to easily display your data in the context of any commit!
ultralytics is now integrated with Google Cloud Storage!
Are you sure you want to delete this access key?
Browsing data directories saved to Azure Cloud Storage is possible with DAGsHub. Let's configure your repository to easily display your data in the context of any commit!
ultralytics is now integrated with Azure Cloud Storage!
Are you sure you want to delete this access key?
Browsing data directories saved to S3 compatible storage is possible with DAGsHub. Let's configure your repository to easily display your data in the context of any commit!
ultralytics is now integrated with your S3 compatible storage!
Are you sure you want to delete this access key?