2017-08-06 10 views
0

現在、OpenCVライブラリを使用しているraspberry pi 3のビデオ処理プロジェクトに取り組んでいます。ガイドとして私はopencv2コンピュータビジョンアプリケーションプログラミング料理の本を読んでいます。あなたがこの本を熟知しているなら、それはwindows visual studio上のすべてを説明します。しかし、私はcmakeを使って物事をコンパイルすることができます。そして、すべて正常に動作します。Opencv raspberry pi 3 video play C++

#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の窓などでは動作しますが、ラズベリーパイでは動作しないことを知っています。私はraspicamで録画したビデオでbike.aviを変更しました。 raspivid -o bike.h264 -h 620 -w 480 -fps 15。しかし、私はまだError loading video!..を取得します。 Ps:私は本のウェブサイトからダウンロードしたbike.aviビデオをvlcプレーヤー経由でssh -Xを使って再生できます。

マイ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}) 
+0

私がここで少なくとも提案したパッケージの最初の半分をインストールして、それが役立つかどうかを試してみてください... https://stackoverflow.com/a/44972255/2836621 –

+0

@MarkSetchellそれらのいくつかはraspiで利用できませんでしたが同じエラー.. – ssovukluk

答えて

0

私はこの問題を考え出しました。 OpenCV usb webcamsはラズベリーパイでうまく動作します。しかし、それがraspverry piカメラを使用して来るとき、それはサポートされていません。そのため、一部の開発者がOpenCVを一緒に使用するRaspiCamライブラリを作成しました。彼らはcmake構成を提供する。私はそれをインストールし、約25fpsのビデオをキャプチャしています。このソリューションはC++ユーザー向けです。もしあなたがpythonでコーディングしているのであれば、python raspberry pi camera OpenCVを検索するだけです。

+0

どのように正しいことができますか?あなたは 'raspivid'を使ってh264ビデオファイルを記録しました。それは私がいつもやっているので正しく動作するはずです。次にOpenCVにビデオファイルを再生するように依頼したが(USB接続のカメラではなく、Raspberry Pi CSI接続カメラではない)、ビデオファイルを再生することができ、ファイルがどこから来たのか、カメラの接続方法その時点で。私はあなたが何を言っているのか分かりません... –

+0

あなたはあなたが言っているとおりです。私が言うことができるのは、OpenCVライブラリは私のために働かないということです。そして、これらの人は、この問題の解決策をhttps://www.uco.es/investiga/grupos/ava/node/40に作成しました。しかし、あなたはそこに記録されたビデオファイルに問題がないはずです。しかし、私は試してみるたびに同じエラーが発生しました。 – ssovukluk

関連する問題