Ubuntu+OpenCV+QT
来源:互联网 发布:网络问卷调查怎么弄 编辑:程序博客网 时间:2024/04/30 17:02
最近出差,看不进去论文,遂干点杂活吧,比如搭个环境....考虑到以后肯定会用linux,先装个ubuntu熟悉一下,搭个OpenCV。
Step1:
http://docs.opencv.org/2.4/doc/tutorials/introduction/linux_install/linux_install.html
这一步可能出现ippicv failed,解决方法是在CMAKE命令行中加入-D WITH_IPP=OFF。
这一步骤干了这几件事:下载opencv,解压,用cmake生成build前的makefile,用make命令对opencv源码进行build,生成各种库。
Step2:
编写测试程序opencvtest.cpp(在这一步前可能还需要配置环境变量,自行搜索吧)
#include<opencv2/highgui/highgui.hpp>using namespace cv;int main(){ Mat img = imread(“1.jpg”); imshow("opencvtest",img); waitKey(0); return 0;}在当前文件夹下放一个"1.jpg"
Step3:
编译和执行。编译就是用g++。都说clang好,以后再说吧。
$ g++ `pkg-config --cflags opencv` -o opencvtest opencvtest.cpp `pkg-config --libs opencv`$ ./opencvtest
编译肯定需要头文件和库文件啊,那两个pkg-config就是干这个事情的。如果运行pkg-config --cflags opencv,返回的是:
-I/usr/local/include/opencv -I/usr/local/include
就是g++需要的include文件夹。注:CFLAGS and CXXFLAGS are either the name of environment variables or of Makefile variables that can be set to specify additional switches to be passed to a compiler in the process of building computer software.
而运行pkg-config --libs opencv,返回的是:
-L/usr/local/lib -lopencv_shape -lopencv_stitching -lopencv_objdetect -lopencv_superres -lopencv_videostab -lopencv_calib3d -lopencv_features2d -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs -lopencv_video -lopencv_photo -lopencv_ml -lopencv_imgproc -lopencv_flann -lopencv_core
是build时用到的库。
更多关于pkg-config的内容,见http://www.cnblogs.com/youxin/p/4271978.html。
如果你嫌这一句g++太长了,也可以写成bash文件,具体见https://help.ubuntu.com/community/OpenCV中的compile_opencv.sh。
另外,这一篇写的也挺好的,可参考:http://www.cnblogs.com/lyutian/p/4425956.html
Step4:
总用g++编译也不是个事,装个IDE吧,这里选QT:http://download.qt.io/official_releases/,选个linux+android版本的,下载后安装(run文件需要右键->属性->执行->选为可执行)
为了方便debug单步调试,敲命令:
sudo gedit /etc/sysctl.d/10-ptrace.conf将其中的一句修改为:kernel.yama.ptrace_scope = 0
重启系统。
再进入QT,新建工程。在工程的prop文件中输入include和lib路径(这里lib不全,你可以自己填)
INCLUDEPATH += /usr/local/include \ /usr/local/include/opencv \ /usr/local/include/opencv2LIBS +=/usr/local/lib/libopencv_highgui.so \ /usr/local/lib/libopencv_core.so \ /usr/local/lib/libopencv_imgproc.so在main.cpp中写入上一步的测试代码,将"1.jpg"放到build_xxx_desktop_debug路径下(这个路径在QT->项目->构建目录 中看到),否则在imshow那一步会报错:
"the inferior stopped because it received a signal from the operating system. Signal name: sigabrt",这是因为imread没读到jpg文件嘛。
OK,现在可以在QT中运行测试代码了,还可以单步调试。但论IDE,个人还是觉得VS强大的多。
几个遇到的问题:
1.编译过程中:error: ‘rectangle’ was not declared in this scope
A:include "opencv2/imgproc.hpp"
2.linux下没有itoa和_itoa,出现编译错误
A:用sprintf(string,"%d",int)代替
3.在debug过程中传递argv参数给main
在QT界面选择“项目”->"构建和运行"->“运行”->Command line arguments
4.debug时进入汇编代码而不是C++
在汇编情况下,选择“调试”->选中“依照命令操作”->再取消“依照命令操作”,即可
- QT OpenCV for ubuntu
- ubuntu QT opencv
- ubuntu qt opencv
- ubuntu qt opencv install
- QT+OpenCV+artoolkitplus : ubuntu
- Ubuntu+OpenCV+QT
- ubuntu下 qt+opencv 配置
- opencv qt ubuntu 环境搭建
- ubuntu+qt+opencv环境配置
- Ubuntu+Qt+OpenCV环境搭建!
- ubuntu下Qt配置openCV
- ubuntu+openCV+qt安装配置
- Ubuntu+QT+Opencv环境搭建
- ubuntu下配置qt+opengl+opencv
- ubuntu下基于qt+opencv控制摄像头
- ubuntu下配置qt+opengl+opencv
- [ubuntu]用Qt开发openni和opencv
- [ubuntu]用Qt开发openni和opencv
- Android单元测试与模拟测试详解
- 我的第一节Java课
- 笨人学数学的方法
- matplotlib绘图蓝本
- 3066 快餐店
- Ubuntu+OpenCV+QT
- 关于面向对象
- Spring-05-Web-MVC注解应用
- poj 2455
- 【10月英语——带给我不一样的心境】
- Linux 用pv操作和共享内存实现生产者与消费者机制
- Android应用框架之BroadcastReceiver
- 拓展django后台
- 全局变量,局部变量,static,const,数组变量的地址打印及地址空间总结