Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
尝试使用OpenGL支持构建OpenCV 2.4.1_Opengl_Opencv_Compilation_Cmake - Fatal编程技术网

尝试使用OpenGL支持构建OpenCV 2.4.1

尝试使用OpenGL支持构建OpenCV 2.4.1,opengl,opencv,compilation,cmake,Opengl,Opencv,Compilation,Cmake,我正在尝试用OpenGL支持构建OpenCV 2.4.1,但它一直失败。我的Ubuntu11.04中安装了OpenGL,libs和往常一样位于/usr/lib/libGL.so下。我知道我的OpenGL安装是正确的,因为我有C++ OpenGL项目,编译、链接和运行OK。 我运行cmake命令如下,因为我需要CUDA和OpenGL支持 /data/OpenCV-2.4.1/build $ cmake -D WITH_OPENGL=ON -D CMAKE_BUILD_TYPE=RELEASE -D

我正在尝试用OpenGL支持构建OpenCV 2.4.1,但它一直失败。我的Ubuntu11.04中安装了OpenGL,libs和往常一样位于/usr/lib/libGL.so下。我知道我的OpenGL安装是正确的,因为我有C++ OpenGL项目,编译、链接和运行OK。 我运行cmake命令如下,因为我需要CUDA和OpenGL支持

/data/OpenCV-2.4.1/build $ cmake -D WITH_OPENGL=ON -D CMAKE_BUILD_TYPE=RELEASE -D WITH_CUDA=ON -D CUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda/ -D BUILD_EXAMPLES=ON -D WITH_TBB=ON ..
这是我从中得到的输出,告诉我CUDA被正确检测到了,但OpenGL没有

-- General configuration for OpenCV 2.4.1 =====================================
-- 
--   Platform:
--     Host:                        Linux 2.6.35-32-generic x86_64
--     CMake:                       2.8.8
--     CMake generator:             Unix Makefiles
--     CMake build tool:            /usr/bin/make
--     Configuration:               RELEASE
-- 
--   C/C++:
--     Built as dynamic libs?:      YES
--     C++ Compiler:                /usr/bin/c++ (ver 4.4.4)
--     C++ flags (Release):         -Wall -Wno-long-long -pthread -fomit-frame-pointer -msse -msse2 -ffunction-sections -O3 -DNDEBUG   -DNDEBUG
--     C++ flags (Debug):           -Wall -Wno-long-long -pthread -fomit-frame-pointer -msse -msse2 -ffunction-sections -g  -O0 -DDEBUG -D_DEBUG -ggdb3
--     C Compiler:                  /usr/bin/gcc
--     C flags (Release):           -Wall -Wno-long-long -pthread -fomit-frame-pointer -msse -msse2 -ffunction-sections -O3 -DNDEBUG  -DNDEBUG
--     C flags (Debug):             -Wall -Wno-long-long -pthread -fomit-frame-pointer -msse -msse2 -ffunction-sections -g  -O0 -DDEBUG -D_DEBUG -ggdb3
--     Linker flags (Release):      
--     Linker flags (Debug):        
-- 
--   OpenCV modules:
--     To be built:                 calib3d contrib core features2d flann gpu highgui imgproc legacy ml nonfree objdetect photo python stitching ts video videostab
--     Disabled:                    -
--     Disabled by dependency:      -
--     Unavailable:                 androidcamera java
-- 
--   GUI: 
--     QT 4.x:                      NO
--     GTK+ 2.x:                    YES (ver 2.22.0)
--     GThread :                    YES (ver 2.26.1)
--     GtkGlExt:                    NO
--     OpenGL support:              NO
-- 
--   Media I/O: 
--     ZLib:                        /usr/lib64/libz.so (ver 1.2.3.4)
--     JPEG:                        /usr/lib64/libjpeg.so (ver 62)
--     PNG:                         /usr/lib64/libpng.so (ver 1.2.44)
--     TIFF:                        /usr/lib64/libtiff.so (ver 42 - 3.9.4)
--     JPEG 2000:                   /usr/lib64/libjasper.so (ver 1.900.1)
--     OpenEXR:                     /usr/lib64/libImath.so /usr/lib64/libIlmImf.so /usr/lib64/libIex.so /usr/lib64/libHalf.so /usr/lib64/libIlmThread.so (ver 1.6.1)
-- 
--   Video I/O:
--     DC1394 1.x:                  NO
--     DC1394 2.x:                  NO
--     FFMPEG:                      YES
--       codec:                     YES (ver 54.23.100)
--       format:                    YES (ver 54.6.100)
--       util:                      YES (ver 51.54.100)
--       swscale:                   YES (ver 2.1.100)
--       gentoo-style:              YES
--     GStreamer:                   
--       base:                      YES (ver 0.10.30)
--       app:                       YES (ver 0.10.30)
--       video:                     YES (ver 0.10.30)
--     OpenNI:                      NO
--     OpenNI PrimeSensor Modules:  NO
--     PvAPI:                       NO
--     UniCap:                      NO
--     UniCap ucil:                 NO
--     V4L/V4L2:                    Using libv4l (ver 0.8.8)
--     Xine:                        NO
-- 
--   Other third-party libraries:
--     Use IPP:                     NO
--     Use TBB:                     YES (ver 3.0 interface 5000)
--     Use Cuda:                    YES (ver 4.2)
--     Use Eigen:                   YES (ver 2.0.15)
-- 
--   NVIDIA CUDA:                   (ver 4.2)
--     Use CUFFT:                   YES
--     Use CUBLAS:                  NO
--     NVIDIA GPU arch:             11 12 13 20 21 30
--     NVIDIA PTX archs:            11 12 13 20 21 30
--     NVIDIA GPU features:         11 12 13 20 20 30 20
-- 
--   Python:
--     Interpreter:                 /usr/bin/python (ver 2.6.6)
--     Libraries:                   /usr/lib64/libpython2.6.so (ver 2.6.6)
--     numpy:                       /usr/local/lib/python2.6/dist-packages/numpy/core/include (ver 2.0.0.dev-27befc8)
--     packages path:               lib/python2.6/dist-packages
-- 
--   Documentation:
--     Build Documentation:         NO
--     Sphinx:                      NO
--     PdfLaTeX compiler:           /usr/local/texlive/2011/bin/x86_64-linux/pdflatex
-- 
--   Tests and samples:
--     Tests:                       YES
--     Performance tests:           YES
--     Examples:                    YES
-- 
--   Install path:                  /usr/local
-- 
--   cvconfig.h is in:              /data/OpenCV-2.4.1/build
-- -----------------------------------------------------------------
-- 
-- Configuring done
-- Generating done
-- Build files have been written to: /data/OpenCV-2.4.1/build
猜猜缺失了什么?

使用以下选项运行cmake:

cmake -DWITH_OPENGL=ON <your CMakeLists.txt directory>
cmake-DWITH_OPENGL=ON

cmake-DUSE\u OPENGL=ON

您可能忘记安装及其标题

sudo apt-get install libgtkglext1 libgtkglext1-dev

我无法在我的openCV 2.4.3 CMake选项中显示WITH_OPENGL标志(我在Mac上运行-雪豹10.6.8)。。。通过打开CMakeLists.txt并将第128行编辑为:

OCV\u选项(打开OPENGL“包括OPENGL支持”)


然后运行您的CMake配置器/生成器,它应该会生成

我也有同样的问题,我通过添加一个额外的命令(使用_QT=ON)来资助解决方案。我不知道为什么,但我在互联网上发现,如果不启用QT而不是GTK,就不可能启用OPENGL。我希望这对我们有帮助,我为我的英语感到抱歉(我不太懂,因为我会说西班牙语)


Saludos公司!!Desde Mexico:D

如果安装了OpenGL:

apt-get install libgl1-mesa-dev libglu1-mesa-dev libqt4-opengl-dev
而且CMake仍然找不到OpenGL,这意味着在/usr/lib/x86_64-linux-gnu/中没有libGl。如果/usr/lib/x86_64-linux-gnu/mesa/中有libGl.so,那么这就是缺少软链接的情况。只要重新安装软件包就可以重新建立这种联系

apt-get install --reinstall libgl1-mesa-dev libglu1-mesa-dev libqt4-opengl-dev
请注意,我必须安装
libqt4 opengl dev
,尽管我并不关心OpenCV中的Qt支持或其他任何地方的Qt支持。我试图弄明白为什么要让OpenGL正常工作,需要大量的80MB或下载并安装,但这种方法在Ubuntu 13.10中肯定有效

cmake -D:WITH_OPENGL=ON

请听丹的评论。在openCV 2.4.6上

不起作用。cmake需要“VAR:type=value”这样的表达式。如果我在命令行参数中使用-DWITH_OPENGL或-DUSE_OPENGL Parse error运行它:-D应该是:VAR:type=value CMake error:没有提供CMake脚本。CMake错误:问题处理参数我认为正确的方法应该是-D和_OPENGL=ON,但我已经这样做了,运气不好。如果你在linux上运行,你可以安装CMake并使用_OPENGL轻松添加选项。
sudo apt get install libgtkglext1 libgtkglext1 dev
@AndreyKamaev你就是那个人!干杯如果你将其作为答案发布,我会立即接受。@AndreyKamaev你能将你的评论作为答案发布吗?我想留下这个问题的答案。这似乎是答案,但首先是@AndreyKamaev在他的评论中提出的:)好吧,正如@Ruimarkes所说,Andrey在评论中已经回答了这个问题,但我会认为这个答案是正确的,因为我无法接受评论,我想结束这个问题,不确定这是不是正确的答案。安装该软件后,CMake可以找到
GtkGlExt
(OpenGL上方的那一行),但
OpenGL支持
仍然是否定的。由于modules/highgui/src/window_QT.cpp中引用了glXUseXFont,所以它没有构建在OSX 10.8上。然而,如果我只是注释掉这一行,项目将构建(在编辑Amir Rubin所指示的CMakeList.txt文件之后)。我正在测试中,如果删除这条线会引起任何问题。“到目前为止还不错!”安格斯福布斯说——同样的事情也发生在我身上;我在答复中忘了提到这一点。我在评论这一行时没有遇到任何问题:在当前版本的根CMake中,这是第143行。我在那里试过了,CMake仍然说在Ubuntu13.10 x64中不支持
OpenGL
。有一种方法可以使用GTK+2.0而不使用QT来启用OpenGL。请参阅Ubuntu 20.02上安装的
libqt5opengl5 dev
,并使用带有_QT=On的标志
我最终启用了OpenGL。谢谢。有一种方法可以使用GTK+2.0启用OpenGL,而不使用QT。看见
cmake -D:WITH_OPENGL=ON