Ubuntu下用opencv调用摄像头过程分享
来源:互联网 发布:北方工业大学网络 编辑:程序博客网 时间:2024/05/19 19:57
环境:CB A10 + lubuntu1.05 + opencv2.6.4.1
准备:2G以上空闲空间. 直接在CB上编译,交叉编译可参见:移植Qt和OpenCV做图像处理方面的开发中matson的提示
(说明:我没做过交叉编译,因为直接编译成功了。但在CB上直接编译我等了足足2个小时才编译完,可见速度之慢,当然,这与我在SD卡上编译也有关系。SD卡只有1.8G,果断把我坑得好惨,编译到93%的时候空间不足 ,幸好Cmake和make有记忆功能,我把相应文件拷到4G的U盘中,挂载到相同的目录下,直接从93%开始往下编译,还不是很坑。)
个人下载地址:opencv2.6.4.1
官方下载地址:lubuntu1.05 + opencv
主要过程如下:
1. 安装与opencv相关的包和工具
2. make && sudo make install
3. gcc -ggdb `pkg-config --cflags opencv` -o opencv0 opencv0.c `pkg-config --libs opencv`
1. 安装与opencv相关的包和工具:
install.sh (说明:有些软件找不到,如可选项中的libtbb-dev,确实有那么几个软件没装,不过不影响使用,无所谓了。细心的人会发现,前面一部分是官方要求下的,后面一部分,网上乱搜乱装的。因为安装opencv之前没装libgtk2.0-deb,所以大装特装,再重装 ,果断不再失败)
sudo chmod +x install.sh
sudo ./install.sh
2. make && sudo make install: (说明:在相应的目录下执行相应的命令,解压opencv.XX后,cd 到opencv.XX, 然后执行上面的一系列命令,注意你的磁盘格式,要支持链接哦,不然只有格式化成其它形式,我用的是ext4格式, 检测可使用命令: ln -s filenamea filenameb;
修改/etc/ld.so.conf是将opencv的库加入系统路径中,不然会报找不到XXX.so的错误,opencv默认安装到/usr/local/lib,这可以从sudo make install 的输出看出来,记得保存输出,出了错方便谷歌\百度\论坛)
3. gcc -ggdb `pkg-config --cflags opencv` -o opencv0 opencv0.c `pkg-config --libs opencv`
(说明:以上是C语言的编译命令,也可以用C++,opencv源码包中也自带一些例子,这个编译命令就是从里面找出来的,网上的编译命令大多不能用。上面的点是`,在数字键12345那一排,Tab的上面,Esc的下面。使用时也可以直接复制。
opencv0.c 是一个看图片的程序,将图片怎么怎么处理。运行: ./opencv0.c opencv1.bmp
video0.c 是一个使用摄像头的程序,lubuntu1.05 自带驱动,官方支持的USB摄像头应该都能用,我用的环宇飞扬V6。
运行 ./video0 )
opencv0.c video0.c
4 一些错误及解决办法:准备:2G以上空闲空间. 直接在CB上编译,交叉编译可参见:移植Qt和OpenCV做图像处理方面的开发中matson的提示
(说明:我没做过交叉编译,因为直接编译成功了。但在CB上直接编译我等了足足2个小时才编译完,可见速度之慢,当然,这与我在SD卡上编译也有关系。SD卡只有1.8G,果断把我坑得好惨,编译到93%的时候空间不足 ,幸好Cmake和make有记忆功能,我把相应文件拷到4G的U盘中,挂载到相同的目录下,直接从93%开始往下编译,还不是很坑。)
个人下载地址:opencv2.6.4.1
官方下载地址:lubuntu1.05 + opencv
主要过程如下:
1. 安装与opencv相关的包和工具
2. make && sudo make install
3. gcc -ggdb `pkg-config --cflags opencv` -o opencv0 opencv0.c `pkg-config --libs opencv`
1. 安装与opencv相关的包和工具:
install.sh (说明:有些软件找不到,如可选项中的libtbb-dev,确实有那么几个软件没装,不过不影响使用,无所谓了。细心的人会发现,前面一部分是官方要求下的,后面一部分,网上乱搜乱装的。因为安装opencv之前没装libgtk2.0-deb,所以大装特装,再重装 ,果断不再失败)
sudo chmod +x install.sh
sudo ./install.sh
2. make && sudo make install: (说明:在相应的目录下执行相应的命令,解压opencv.XX后,cd 到opencv.XX, 然后执行上面的一系列命令,注意你的磁盘格式,要支持链接哦,不然只有格式化成其它形式,我用的是ext4格式, 检测可使用命令: ln -s filenamea filenameb;
修改/etc/ld.so.conf是将opencv的库加入系统路径中,不然会报找不到XXX.so的错误,opencv默认安装到/usr/local/lib,这可以从sudo make install 的输出看出来,记得保存输出,出了错方便谷歌\百度\论坛)
3. gcc -ggdb `pkg-config --cflags opencv` -o opencv0 opencv0.c `pkg-config --libs opencv`
(说明:以上是C语言的编译命令,也可以用C++,opencv源码包中也自带一些例子,这个编译命令就是从里面找出来的,网上的编译命令大多不能用。上面的点是`,在数字键12345那一排,Tab的上面,Esc的下面。使用时也可以直接复制。
opencv0.c 是一个看图片的程序,将图片怎么怎么处理。运行: ./opencv0.c opencv1.bmp
video0.c 是一个使用摄像头的程序,lubuntu1.05 自带驱动,官方支持的USB摄像头应该都能用,我用的环宇飞扬V6。
运行 ./video0 )
opencv0.c video0.c
错误a. CMake Error: cmake_symlink_library: System Error: Operation not permitted
原因: 变成超级用户依然报错,磁盘格式不对。
错误b: opencv0: error while loading shared libraries: libopencv_core.so.2.4: cannot open shared object file: No such file or directory
原因:没有添加opencv的库/usr/local/lib到/etc/ld.so.conf, 或者没有 sudo ldconfig
错误c: Processing a 650 x 935 image with 1 channels
OpenCV Error: Unspecified error (The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script) in cvNamedWindow, file /media/linaro/ssd/opencv-2.4.6.1/modules/highgui/src/window.cpp, line 483
terminate called after throwing an instance of 'cv::Exception'
what(): /media/linaro/ssd/opencv-2.4.6.1/modules/highgui/src/window.cpp:483: error: (-2) The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script in function cvNamedWindow
Aborted
原因: 你在装opencv之前没有安装libgtk2.0-dev 。。。,这下只有重装opencv, 使用命令make uninstall ,再 cmake CMakeList.txt ...一路重来吧!
很给力,我依照楼主的过程安装到ubuntu 13.10 -64 编译执行成功!
不过楼主install.sh 当中apt-get install libgtk2.0-deb -y 其中libgtk2.0-deb 应为libgtk2.0-dev
在我的安装过程当中
libpngwriter0-dev
libpngwriter0c2
libjpeg-prog
libavcodec52
libavformat52
以上几个没有安装上,不过opencv0.c video0.c的编译与执行完全正常,非常感谢楼主提供的文档帮助!
原文:http://forum.cubietech.com/forum.php?mod=viewthread&tid=1038&highlight=%E6%91%84%E5%83%8F%E5%A4%B4
参考:http://www.cnblogs.com/emouse/archive/2013/02/22/2922940.html
0 0
- Ubuntu下用opencv调用摄像头过程分享
- ubuntu 下测试摄像头过程
- ubuntu 下用 opencv驱动笔记本摄像头问题解决方法
- OpenCV编程->Windows7下调用iPhnoe摄像头
- ubuntu下基于qt+opencv控制摄像头
- 在ubuntu下利用opencv打开摄像头
- ubuntu下基于qt+opencv控制摄像头
- ubuntu下使用OpenCV打开摄像头
- ubuntu下基于qt+opencv控制摄像头
- ubuntu下安装opencv 读取摄像头
- linux(ubuntu)下,如何利用opencv调用usb摄像头(Eclipse)
- linux(ubuntu)下,如何利用opencv调用usb摄像头(Eclipse)
- 在Ubuntu下使用opencv调用海康威视的网络摄像头
- 在Ubuntu下使用opencv调用海康威视的网络摄像头
- ubuntu下安装opencv过程
- opencv调用摄像头
- opencv 调用USB 摄像头
- Opencv调用摄像头
- Java学习笔记9:始终要覆盖toString
- 灰度共生矩阵的实现
- 基本OOP知识
- nyoj 107 排序问题之A Famous ICPC Team
- MySQL 用户与权限管理
- Ubuntu下用opencv调用摄像头过程分享
- FPGA大公司面试笔试数电部分
- 习题3.5
- mysql中having和where的区别
- 个人的感受
- Android布局控件之LinearLayout
- Note for video Machine Learning and Data Mining——error and noise
- java 重定向和转发的区别
- Linux线程池在服务器上简单应用