簡體   English   中英

如何在c ++ openCV中使用raspberry pi攝像頭作為視頻輸入?

[英]how to use the raspberry pi camera as video input in c++ openCV?

這就是我通常在openCV中處理視頻的方式。

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

int main(int argc, char** argv)
{

        Mat output;
        VideoCapture cap(CV_CAP_ANY);


        if( !cap.isOpened() )
        {
            cout << "Could not initialize capturing...\n";
            return 0;
        }


        while(1){
            cap >> output;

            imshow("webcam input", output);
            char c = (char)waitKey(10);
            if( c == 27 ) break;
          }
}

現在我有一個覆盆子pi相機,我有以下最小:

#include <iostream>
#include<opencv2/opencv.hpp>
#include <raspicam/raspicam_cv.h>


int main(int argc, char** argv)
{

        Mat image, output;
        //VideoCapture cap(CV_CAP_ANY);
    raspicam::RaspiCam_Cv cap;

        if( !cap.isOpened() )
        {
            cout << "Could not initialize capturing...\n";
            return 0;
        }

        while(1){
            cap >> output;

            imshow("webcam input", output);
            char c = (char)waitKey(10);
            if( c == 27 ) break;
         }
}

然而后者不起作用,這是我編譯時輸出到終端的內容: http//paste.ubuntu.com/24324541/

有人能告訴我這樣做的正確方法是什么?

謝謝

根據文檔 ,您不能將它用作流,但必須這樣做:

while(1){
    cap.grab();
    cap.retrieve(output);

    imshow("webcam input", output);
    char c = (char)waitKey(10);
    if( c == 27 ) break;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM