Окружающая среда: машина 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() зависает?
Я мог бы получить shadoworflow и OpenCV, работающие на MacOS, путем изменения соответствующих динамических библиотек для MAC (* .dylib) внутри файла opencv.BUILD. –