VideoCapture(0) 和 VideoCapture.open(0) 似乎不适用于 CMake (UBUNTU) (OpenCV4)
VideoCapture(0) and VideoCapture.open(0) Do Not Seem To Work With CMake (UBUNTU) (OpenCV4)
我试图打开我的内置摄像头以制作人脸检测程序,但我注意到当我尝试 运行 时 VideoCapture.open(0) 不起作用cmake 编译,但是当我通过 g++ 编译和 运行 时确实有效。
这个程序是一个项目的一部分,需要通过CMake编译,但是似乎没有任何效果...
(我正在使用 Ubuntu)
我的代码编译和 运行s,打开内置相机(在 if(capture.isOpened())
上返回 "true"),当我使用
g++ main.cpp FaceDetection.cpp `pkg-config --cflags --libs opencv4`
但 returns 在 if(capture.isOpened())
上为 false 并且当我通过 cmake 编译时不打开内置摄像头。
当我用 g++ 编译它时,有什么想法可以让 运行 喜欢它 运行s 吗?
编辑:删除了我的代码,因为这根本不是代码的问题。当我找到解决方案时会回答我自己的问题。
运行 make VERBOSE=1
、cmake ../ --log-level=VERBOSE
和
g++ main.cpp FaceDetection.cpp `pkg-config --cflags --libs opencv4`
正如 Tsyvarev 所建议的,发现 g++ 包含来自 /usr/include 的 opencv 而 cmake 包含来自 /usr/local
的 opencv
我找到了这个解决方案:
先运行 cd /opt/opencv/build && make uninstall
再运行 make
在我的项目文件夹里,居然解决了问题,打开了相机。
我不确定是什么原因造成的,但如果有人遇到这种情况,希望对您有所帮助!
我试图打开我的内置摄像头以制作人脸检测程序,但我注意到当我尝试 运行 时 VideoCapture.open(0) 不起作用cmake 编译,但是当我通过 g++ 编译和 运行 时确实有效。
这个程序是一个项目的一部分,需要通过CMake编译,但是似乎没有任何效果...
(我正在使用 Ubuntu)
我的代码编译和 运行s,打开内置相机(在 if(capture.isOpened())
上返回 "true"),当我使用
g++ main.cpp FaceDetection.cpp `pkg-config --cflags --libs opencv4`
但 returns 在 if(capture.isOpened())
上为 false 并且当我通过 cmake 编译时不打开内置摄像头。
当我用 g++ 编译它时,有什么想法可以让 运行 喜欢它 运行s 吗?
编辑:删除了我的代码,因为这根本不是代码的问题。当我找到解决方案时会回答我自己的问题。
运行 make VERBOSE=1
、cmake ../ --log-level=VERBOSE
和
g++ main.cpp FaceDetection.cpp `pkg-config --cflags --libs opencv4`
正如 Tsyvarev 所建议的,发现 g++ 包含来自 /usr/include 的 opencv 而 cmake 包含来自 /usr/local
的 opencv我找到了这个解决方案:
先运行 cd /opt/opencv/build && make uninstall
再运行 make
在我的项目文件夹里,居然解决了问题,打开了相机。
我不确定是什么原因造成的,但如果有人遇到这种情况,希望对您有所帮助!