[openrtm-staff:1453] 1/25の作業報告(河内)

河内のぶ n.kawauchi @ aist.go.jp
2018年 1月 25日 (木) 19:57:31 JST


安藤様

河内です

本日の作業内容をお知らせします。
------------
■OpenCV3.3 + GStreamer1.0 
・GStreamerのインストールパスをbatファイルに定義してコマンドラインでの
 ビルド動作確認
・マージモジュール作成用にバイナリのディレクトリ構造を整えているので、
 これをOpenCV_DIRとして指定して動作を確認してみようとしたがダメ

⇒gstreamerを有効にしてのビルドはOKと判断しているが、実際に使えるのか
 確認したかった

・下記サイトを参考にした
「OpenCVのGstreamerバックエンドで高度な動画キャプチャを実現する」
https://qiita.com/stnk20/items/242e400853579d511ea3

・以下のソースでは動かなかった
・カメラ映像そのまま使う時はcap(0)としているところをcap(pipe)にした
------ disp-test.cpp
#include <opencv2/opencv.hpp>

int main()
{
    cv::Mat frame;
    const char* pipe =  "videotestsrc ! videoconvert ! appsink";
    cv::VideoCapture cap(pipe);    
    if(!cap.isOpened())
    {
        return -1;
    }

    cv::namedWindow("Capture", CV_WINDOW_AUTOSIZE);
    while(1)
    {    
        cap >> frame; 
        imshow("Capture", frame);
        if(cv::waitKey(30) >= 0)
        {
            cv::imwrite("img.png", frame);            
            break;
        }
    }
    return 0;
}
------

・CMakeLists.txt
------
cmake_minimum_required(VERSION 2.8)
project (test-gstreamer)

set(OpenCV_DIR D:/distribution/windows/OpenCV3.3)
find_package(OpenCV)
include_directories(${OPENCV_INCLUDE_DIRS})

add_executable(disp-test disp-test.cpp)
target_link_libraries(disp-test ${OpenCV_LIBS})
------

・cmakeの結果
-- Found OpenCV: D:/distribution/windows/OpenCV3.3 (found version "3.3.0")
-- Found OpenCV 3.3.0 in D:/distribution/windows/OpenCV3.3/x86/vc10/lib

・実行するとcap.isOpened()で抜ける
>disp-test.exe
warning: Error opening file (/build/opencv/modules/videoio/src/cap_ffmpeg_impl.hpp:792)
warning: videotestsrc ! videoconvert ! appsink (/build/opencv/modules/videoio/src/cap_ffmpeg_impl.hpp:793)

・ffmpegバックエンドが使われているからエラーになっている?
・warningだからソースコードがOKならば処理が進む??
・gstreamerバックエンドの確認方法が分かりません (^_^;)

※OpenCV3.4.0が12/23にリリースされていましたので対応します

以上です。

---------------------------------------------------
河内 のぶ  n.kawauchi @ aist.go.jp
産業技術総合研究所 ロボットイノベーション研究センター
ロボットソフトウエアプラットフォーム研究チーム
テクニカルスタッフ



More information about the openrtm-staff mailing list