現在、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})
私がここで少なくとも提案したパッケージの最初の半分をインストールして、それが役立つかどうかを試してみてください... https://stackoverflow.com/a/44972255/2836621 –
@MarkSetchellそれらのいくつかはraspiで利用できませんでしたが同じエラー.. – ssovukluk