中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

OpenCV與C++結合處理復雜場景

發布時間:2024-08-26 17:03:52 來源:億速云 閱讀:86 作者:小樊 欄目:編程語言

OpenCV(開源計算機視覺庫)是一個用于處理實時圖像和視頻的開源庫。它包含了許多用于圖像處理、特征提取和對象檢測的函數。結合C++,我們可以使用這些功能來處理復雜場景。

以下是一些使用OpenCV和C++處理復雜場景的示例:

  1. 圖像處理:
#include <opencv2/opencv.hpp>
#include<iostream>

using namespace cv;
using namespace std;

int main() {
    Mat image = imread("input.jpg");

    if (image.empty()) {
        cout << "無法打開或找到圖像"<< endl;
        return -1;
    }

    // 轉換為灰度圖像
    Mat gray_image;
    cvtColor(image, gray_image, COLOR_BGR2GRAY);

    // 應用高斯模糊
    Mat blurred_image;
    GaussianBlur(gray_image, blurred_image, Size(5, 5), 0);

    // 應用Canny邊緣檢測
    Mat edges;
    Canny(blurred_image, edges, 100, 200);

    // 顯示結果
    imshow("Edges", edges);
    waitKey(0);

    return 0;
}
  1. 人臉檢測:
#include <opencv2/opencv.hpp>
#include<iostream>

using namespace cv;
using namespace std;

int main() {
    // 加載人臉檢測級聯分類器
    CascadeClassifier face_cascade;
    face_cascade.load("haarcascade_frontalface_default.xml");

    Mat image = imread("input.jpg");

    if (image.empty()) {
        cout << "無法打開或找到圖像"<< endl;
        return -1;
    }

    // 轉換為灰度圖像
    Mat gray_image;
    cvtColor(image, gray_image, COLOR_BGR2GRAY);

    // 檢測人臉
    vector<Rect> faces;
    face_cascade.detectMultiScale(gray_image, faces, 1.1, 3, 0, Size(30, 30));

    // 在圖像上繪制人臉矩形框
    for (const auto &face : faces) {
        rectangle(image, face, Scalar(255, 0, 0), 2);
    }

    // 顯示結果
    imshow("Faces", image);
    waitKey(0);

    return 0;
}
  1. 視頻處理:
#include <opencv2/opencv.hpp>
#include<iostream>

using namespace cv;
using namespace std;

int main() {
    VideoCapture cap(0); // 打開攝像頭

    if (!cap.isOpened()) {
        cout << "無法打開攝像頭"<< endl;
        return -1;
    }

    Mat frame;

    while (true) {
        cap >> frame; // 讀取視頻幀

        if (frame.empty()) {
            break;
        }

        // 轉換為灰度圖像
        Mat gray_frame;
        cvtColor(frame, gray_frame, COLOR_BGR2GRAY);

        // 顯示結果
        imshow("Gray Frame", gray_frame);

        // 按 'q' 鍵退出
        if (waitKey(30) == 'q') {
            break;
        }
    }

    return 0;
}

這些示例展示了如何使用OpenCV和C++處理復雜場景。你可以根據需要修改這些代碼,以適應不同的應用場景。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

c++
AI

香河县| 泰顺县| 亳州市| 清流县| 华蓥市| 石景山区| 庆元县| 云阳县| 新余市| 竹山县| 长葛市| 科尔| 英吉沙县| 寿阳县| 龙川县| 宁城县| 习水县| 金坛市| 嘉峪关市| 忻城县| 阜阳市| 海原县| 周宁县| 克什克腾旗| 开封县| 长宁县| 仁布县| 岗巴县| 会泽县| 汾西县| 同心县| 甘德县| 天柱县| 来宾市| 兴安县| 团风县| 凉城县| 岚皋县| 郴州市| 铁岭县| 鄯善县|