首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

rainysky陪你一起在zedboard上移植qt+opencv(五):在PC机上安装opencv

rainysky陪你一起在zedboard上移植qt+opencv(五):在PC机上安装opencv

终于QT安装、移植完毕啦,期待你中间也木有出现问题吧。接下来就是安装opencv了。这个相对会复杂一点吧。
第一步肯定是下载opencv的源码包了,在opencv的官网上下载http://www.opencv.org.cn/index.php/Download ,rainysky下载的是现在最新版本2.4.4。下载的地址也是和qt的那个时候一样啦。方便管理,建立新的文件夹 /opt/zedboard/opencv_pc (因为需要在pc机上和zed上各安装一个所以就建立不一样的文件夹啦)


然后是配置一些东西,如下


悲剧的报错了,显示没有安装cmake,用命令apt-get install cmake,其实还需要安装另一个软件apt-get install cmake-curses-gui,安装完这两个软件就执行可以cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
CMAKE_INSTALL_PREFIX=/usr/local 是代表安装路径,在PC机上面的opencv一般就安装在/usr/local 这个路径下了
这次成功执行了,用ccmke ./ 看下都安装了哪些东西,在这里改动一个东西,将WITH_V4L后面的OFF改成ON(按enter键更改,因为以后要用到操作摄像头的函数),改完后按c键配置,而后按g键生成和退出
配置完成后,用make编译opencv,编译完后make install 就可以安装,安装的位置前面也提到过。

安装完opencv后,想的第一件事就是跑一个程序试一下。整理方便,在pc机上opencv的代码放在/opt/zedboard/opencv_pc/code下,这就需要建立一个文件夹了。进入到文件内cd /opt/zedboard/opencv_pc/code/ 用qt新建一个测试程序,在这里rainysky建立的程序名为lena,建的是一个空应用程序,并且添加三个程序,(备注:这个程序是从openhw论坛里面一个博客里摘抄的)


在example.h中代码为:
#ifndef EXAMPLE_H

#define EXAMPLE_H
#include
#include
#include "cv.h"
#include "highgui.h"
class OpenCV_Example : public QMainWindow
{
Q_OBJECT
public:
OpenCV_Example();
QPushButton *b1;
IplImage *img;
public slots:
void slot_imgshow();
};
#endif //EXAMPLE_H

example.cpp中代码为:
#include "example.h"
OpenCV_Example::OpenCV_Example()
{
setGeometry(100,100,100,100);
b1 = new QPushButton("Show Image",this);
connect(b1,SIGNAL(clicked()), this, SLOT(slot_imgshow()));
}
void OpenCV_Example::slot_imgshow()
{
//QMessageBox::information(this,"title","Hello this is popup");
img = cvLoadImage("/opt/zedboard/opencv_pc/code/lena/lena/lena.jpg",1);//要打开的图片
//create a new window
cvNamedWindow("Window", 1);
//display the image in the window
cvShowImage("Window", img);
//wait for key to close the window
cvWaitKey(0);
cvDestroyWindow( "Window" ); //destroy the window
}

在main.cpp中代码为:
//在main中编写:
#include
#include "example.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
OpenCV_Example w;
w.show();
return a.exec();
}

在代码里可以看到我们要显示的图像是lena.jpg,在opencv源码中带的有这个图像。


在qt中运行这个程序出现,崩溃的出现错误:


按照提示安装GTK :apt-get install libgtk2.0-dev,安装完成后,重新打开软件,运行程序,就可以看到美丽的lena图像啦



来源:rainysky 的博客
记录学习中的点点滴滴,让每一天过的更加有意义!
返回列表