2016-12-22 2 views
0

Окружающая среда: машина MAC, запускающая мой код внутри виртуальной машины с гостевой ОС: Ubuntu 14.4 LTS.shadoworflow + opencv webcam висит

Я собираю openCV в рабочем пространстве tensorflow в примерах. Мой WORKSPACE и opencv.BUILD файл похожи на тот, упомянутый here

Мой файл BUILD для OpenCV + 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__"], 
) 

Если я отключить tensorflow зависимости (а также прокомментировать tensorflow родственный код). Я вижу, что веб-камера фиксируется правильно. как это:

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

Но если я по-прежнему держать код комментировал/раскомментировать, а также сохранить tensorflow зависимостей моя камера висит на VideoCapture :: прочитать()

По умолчанию OpenCV использование FFMPEG кодека и я попытался включение и выключение FFMPEG. Может кто-то, пожалуйста, помогите мне, почему, когда библиотека тензорного потока компилируется в проекте, мой openCV read() зависает?

+0

Я мог бы получить shadoworflow и OpenCV, работающие на MacOS, путем изменения соответствующих динамических библиотек для MAC (* .dylib) внутри файла opencv.BUILD. –

ответ

0

Конфигурация сборки OpenCV Bazel, с которой вы связаны выше, просто заглатывает все файлы .so, созданные CMake. Может быть, вам нужно передать -DWITH_FFMPEG = OFF cflag в CMake? Если вы передадите его в Bazel, как вы это делали выше, он будет применяться только к компиляции main.cc.

+0

Спасибо за ввод, но это не помогло мне решить мою оригинальную проблему с камерой. –

+0

Висячие проблемы трудно диагностировать. Он также кажется ортогональным предоставленной вами информации. Я сделал все, что мог, с предоставленной информацией. –