OpenCV لـ C++: دليل شامل مع أمثلة تطبيقية

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

OpenCV لـ C++: دليل شامل مع أمثلة تطبيقية

1. ما هي OpenCV ولماذا تحتاجها؟

OpenCV (مكتبة رؤية الحاسوب مفتوحة المصدر) هي مكتبة قوية ومفتوحة المصدر، مصممة لحل مشاكل رؤية الحاسوب ومعالجة الصور. مكتوبة بلغة C++ مع دعم Python و Java ولغات أخرى، توفر أكثر من 2500 خوارزمية محسّنة لتحليل وتصفية وتحويل والتعرف على المعلومات البصرية. تُستخدم OpenCV بنشاط في الروبوتات، أنظمة المراقبة، التصوير الطبي، الواقع المعزز، والمركبات ذاتية القيادة.

لماذا تحتاجها؟ في عالمنا اليوم، تأتي كميات هائلة من البيانات على شكل صور وفيديو. المعالجة اليدوية لهذا التدفق مستحيلة. تتيح لك OpenCV أتمتة مهام مثل اكتشاف الوجوه، تتبع الأجسام، معايرة الكاميرات، بناء خرائط العمق، تجزئة الصور، وحتى تدريب الشبكات العصبية للتعرف على الأنماط. توفر المكتبة أدوات جاهزة عالية الأداء، مما يوفر على المطور عناء تنفيذ خوارزميات رياضية معقدة من الصفر.

بالنسبة لـ C++، تعتبر OpenCV المعيار الفعلي في الصناعة. بفضل العمل المباشر مع الذاكرة والوصول منخفض المستوى إلى البكسلات، يوفر إصدار C++ أقصى سرعة في التنفيذ، وهو أمر بالغ الأهمية للتطبيقات في الوقت الفعلي (مثل معالجة الفيديو من الكاميرا بمعدل 60 إطارًا في الثانية). تتطور المكتبة بنشاط من قبل المجتمع والشركات (Intel, Willow Garage, Itseez)، وتسمح بنيتها المعيارية بتوصيل المكونات المطلوبة فقط، مما يوفر الموارد.

2. التثبيت

يتطلب تثبيت OpenCV لـ C++ إما تجميع الكود المصدري أو استخدام مدير الحزم. فيما يلي الطرق الرئيسية.

2.1. التثبيت عبر vcpkg (موصى به لنظام Windows)

# قم بتثبيت vcpkg إذا لم يكن مثبتًا بالفعل
git clone https://github.com/Microsoft/vcpkg.git
cd vcpkg
.\bootstrap-vcpkg.bat

# قم بتثبيت OpenCV مع دعم الوحدات الإضافية (contrib)
.\vcpkg install opencv4[contrib,nonfree]:x64-windows

# التكامل مع Visual Studio
.\vcpkg integrate install

2.2. التثبيت عبر apt (Linux / Ubuntu / Debian)

sudo apt update
sudo apt install libopencv-dev

2.3. التثبيت عبر brew (macOS)

brew install opencv

2.4. التجميع من المصدر (أقصى مرونة)

git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git
cd opencv
mkdir build && cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \
      -D CMAKE_INSTALL_PREFIX=/usr/local \
      -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \
      -D WITH_TBB=ON \
      -D WITH_V4L=ON \
      -D WITH_OPENGL=ON ..
make -j$(nproc)
sudo make install

بعد التثبيت، لا تنسَ تحديد مسارات ملفات الرأس والمكتبات في بيئة التطوير الخاصة بك (مثل Visual Studio, CLion, CMake). مثال لملف CMakeLists.txt:

cmake_minimum_required(VERSION 3.10)
project(MyOpenCVProject)
find_package(OpenCV REQUIRED)
add_executable(main main.cpp)
target_link_libraries(main ${OpenCV_LIBS})

3. البداية السريعة — مثال عملي بسيط

الكود التالي يقوم بتحميل صورة، تحويلها إلى تدرج رمادي، وحفظ النتيجة. هذه هي الطريقة الكلاسيكية لقول "Hello, World!" في عالم رؤية الحاسوب.

#include <opencv2/opencv.hpp>
#include <iostream>

int main() {
    // تحميل صورة ملونة
    cv::Mat image = cv::imread("input.jpg");
    if (image.empty()) {
        std                    

توصيات