連載記事4回目更新されました

連載記事4回目は初めてのOpenCV開発 ― coreモジュール【OpenCV 2.4.9】という記事を書きました.

OpenCVで最も基本となるcoreモジュールの概要やユーティリティ機能について紹介しています。※coreモジュール、highguiモジュールを1回の記事でまとめようと思っていたのですが思いの外ボリュームがあったので分割することになりました.

次回はhighguiモジュールの概要と使い方について解説予定です.

連載記事4回目更新されました」への6件のフィードバック

  1. OpenCLを用いてMat型の画像を並列に処理したいと考えています
    http://answers.opencv.org/question/26658/custom-opencl-kernel-in-opencv/
    上のサイトにあるように自作のカーネルを定義してoclの関数を使って実行したいと考えているのですがサイトのanswerのようにopenCLExecuteKernelInteropを実行すると
    Floating point exception: 8
    というランタイムエラーが出てしまいます
    何かわかるようでしたらお教えください
    よろしくお願いいたします

  2. こんなに早く回答していただけるとは思っていませんでした
    ありがとうございます
    ソースコードを実行しましたが以下のランタイムエラーが出てしまいます

    OpenCV Error: Gpu API call (CL_INVALID_ARG_SIZE) in openCLExecuteKernelInterop, file /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_graphics_opencv/opencv/work/opencv-2.4.10/modules/ocl/src/cl_operations.cpp, line 524
    libc++abi.dylib: terminating with uncaught exception of type cv::Exception: /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_graphics_opencv/opencv/work/opencv-2.4.10/modules/ocl/src/cl_operations.cpp:524: error: (-217) CL_INVALID_ARG_SIZE in function openCLExecuteKernelInterop
    環境はMacOSXです

    Windowsなら動いているのでしょうか?
    度々申し訳ありません。宜しくお願いします

  3. 使用されているOpenCLのフレームワークはMacOSX搭載のものでしょうか?
    (それともAMDやNVIDIAのOpenCL SDK?)

    以下の環境で動作確認しています。
    ・OpenCV 2.4.9
    ・Windows 8.1
    ・VS2012
    ・NVIDIA OpenCL

    おそらくエラーメッセージから推測するに
    args.push_back( std::make_pair( 4, (void *) &source.data ));
    args.push_back( std::make_pair( 4, (void *) &dest.data ));
    というところを
    args.push_back( std::make_pair( sizeof(cl_mem), (void *) &source.data ));
    args.push_back( std::make_pair( sizeof(cl_mem), (void *) &dest.data ));
    とすれば動きそうな気がします。

    ただし、cl_mem構造体はoclモジュールのヘッダをインクルードするだけでは参照できないのでMacOSXに搭載されているOpenCLを使うのであれば

    の一行を追加する必要があります。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です