2016-12-22 12 views
0

環境:ゲストOSを搭載した仮想マシン内で自分のコードを実行するMACマシン:Ubuntu 14.4 LTS。tensorflow + opencv webcamがハング

私は、例の下でtensorflowワークスペース内でopenCVをコンパイルしています。私はtensorflow依存性を無効に(とも関連tensorflowコメント場合

package(default_visibility = ["//tensorflow:internal"]) 

licenses(["notice"]) # Apache 2.0 

exports_files(["LICENSE"]) 

cc_binary(
    name = "label_image", 
    srcs = [ 
     "main.cc", 
    ], 
    linkopts = ["-lm"], 
    copts = ["-DWITH_FFMPEG=OFF"], 
    deps = [ 
     "//tensorflow/cc:cc_ops", 
     "//tensorflow/core:framework_internal", 
     "//tensorflow/core:tensorflow", 
     "@opencv//:opencv" 
    ], 
) 

filegroup(
    name = "all_files", 
    srcs = glob(
     ["**/*"], 
     exclude = [ 
      "**/METADATA", 
      "**/OWNERS", 
      "bin/**", 
      "gen/**", 
     ], 
    ), 
    visibility = ["//tensorflow:__subpackages__"], 
) 

を:私のワークスペースとopencv.BUILDファイルは1つに似て私のOpenCVのビルドファイル+ tensorflowプロジェクトは次のようになりますhere

を述べましたコード)。ウェブカメラが適切にキャプチャされていることがわかります。このような:

deps = [ 
      #"//tensorflow/cc:cc_ops", 
      #"//tensorflow/core:framework_internal", 
      #"//tensorflow/core:tensorflow", 
      "@opencv//:opencv" 
     ], 

しかし、私はまだアンコメント/コメントコードを維持し、また私のウェブカメラがVideoCaptureでハング依存tensorflowを続ければ::読み()

デフォルト、OpenCVの使用FFMPEGのコーデックで、私は試してみましたFFMPEGの有効化と無効化。誰かが私のopenCV read()がハングアップするプロジェクトでは、tensorflowライブラリがコンパイルされるときになぜ助けてくれますか?

+0

opencv.BUILDファイル内でMAC(* .dylib)の適切な動的ライブラリを変更することで、MacOSでtensorflowとOpenCVを動かすことができました。 –

答えて

0

上記でリンクしたOpenCV Bazelビルド構成は、CMakeが構築したすべての.soファイルだけを対象にしているようです。多分、CMakeに-DWITH_FFMPEG = OFFのcflagを渡す必要がありますか?上記のようにBazelに渡すと、main.ccのコンパイルにのみ適用されます。

+0

入力していただきありがとうございますが、これはカメラがぶら下がったという私の元の問題を解決するのに役立ちませんでした。 –

+0

ハンギングの問題を診断するのは難しいです。また、あなたが提供した情報と直交しているようです。私は提供された情報でできる限りの努力をしました。 –

関連する問題