簡體   English   中英

OpenCV樹莓派3視頻播放C ++

[英]Opencv raspberry pi 3 video play c++

我目前正在使用OpenCV庫在raspberry pi 3上進行視頻處理項目。 作為指導,我閱讀了opencv2計算機視覺應用程序編程手冊。 如果您熟悉這本書,它會解釋Windows visual studio上的所有內容。 但即時通訊能夠使用cmake進行編譯。 而且一切正常。

#include<iostream>
#include<opencv2/highgui/highgui.hpp>
#include<opencv2/core/core.hpp>
int main()
{
// Open the video file
cv::VideoCapture capture("../bike.avi");
// check if video successfully opened
if (!capture.isOpened()){
std::cout<<"Error loading video!.."<<std::endl;
return 1;
}
// Get the frame rate
double rate= capture.get(CV_CAP_PROP_FPS);
bool stop(false);
cv::Mat frame; // current video frame
cv::namedWindow("Extracted Frame");
// Delay between each frame in ms
// corresponds to video frame rate
int delay= 1000/rate;
// for all frames in video
while (!stop) {
// read next frame if any
if (!capture.read(frame))
break;
cv::imshow("Extracted Frame",frame);
// introduce a delay
// or press key to stop
if (cv::waitKey(delay)>=0)
stop= true;
}
// Close the video file.
// Not required since called by destructor
capture.release();
}

在書中作家使用此代碼。 而且我知道這段代碼可以在linux Windows等系統上運行,但不能在樹莓派上運行。 我用raspicam錄制的視頻更改了bike.avi。 raspivid -o bike.h264 -h 620 -w 480 -fps 15 但是我仍然在Error loading video!.. 附言:我可以播放我通過使用ssh -X通過vlc播放器從圖書網站下載的bike.avi視頻。

我的CMakeLists.txt文件:

cmake_minimum_required(VERSION 2.8)
project(salt)
FIND_PACKAGE(OpenCV REQUIRED)
add_executable(a.out main.cpp)
TARGET_LINK_LIBRARIES(a.out ${OpenCV_LIBS})

我解決了這個問題。 具有USB網絡攝像頭的OpenCV在樹莓派上可以正常工作。 但是,當它使用狂暴的pi相機時,它不受支持。 這就是為什么一些開發人員創建了可與OpenCV協同工作的RaspiCam庫的原因。 他們甚至提供cmake配置。 我安裝了它,並以25fps的速度捕獲視頻,效果很好。 此解決方案適用於C ++用戶。 如果您使用python進行編碼,則只需搜索python樹莓派相機OpenCV。

暫無
暫無

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

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