Ubantu16.04编译OPENVC3.4教程
目录1.在linux上下载安装opencv
在官网上下载opencv源文件,如果下载的慢的话可以去国内的镜像网站上下载。例如https://www.raoyunsoft.com/wordpress/index.php/2020/03/09/opencvdownload/
将下载文件复制到home目录下,进行解压配置:
通过
unzip opencv-3.4.1
进行解压
安装依赖库和cmake ,如果提醒需要apt-get update,那就先sudo su进入root权限,再sudo apt-get update,然后在执行下面命令
sudo apt-get install cmake
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff5.dev libswscale-dev libjasper-dev
安装完cmake之后执行命令 ,创建编译文件夹
mkdir build
然后进入我们创建的build文件夹中
CMAKE一下,完成后如下图所示
cmake ..
再执行命令
sudo make install
sudo make install 执行完毕后OpenCV编译过程就结束了,接下来就需要配置一些OpenCV的编译环境首先将OpenCV的库添加到路径,从而可以让系统找到
执行命令
sudo gedit /etc/ld.so.conf.d/opencv.conf
打开的这个文件可能是空白的,不用管,只需要在文件末尾添加
/usr/local/lib
保存后回到命令行界面,执行如下命令使配置生效
sudo ldconfig
再通过如下命令配置bash
sudo gedit /etc/bash.bashrc
在这个文件的最末尾添加
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
保存,执行如下命令使得配置生效
source /etc/bash.bashrc
sudo updatedb
至此所有的配置都已经完成
2.编写第一个程序
在opencv-3.4.1下新建文件夹mytest,再在其中创建test.cpp,在其中复制如下代码,图片也需要放在同一个文件夹中。
#include <opencv2/highgui.hpp>
#include <opencv2/opencv.hpp>
using namespace cv;
using namespace std;
int main(int argc, char** argv)
{
CvPoint center;
double scale = -3;
```
IplImage* image = cvLoadImage("lena.jpg");
argc == 2? cvLoadImage(argv[1]) : 0;
cvShowImage("Image", image);
```
```
if (!image) return -1; center = cvPoint(image->width / 2, image->height / 2);
for (int i = 0;i<image->height;i++)
for (int j = 0;j<image->width;j++) {
double dx = (double)(j - center.x) / center.x;
double dy = (double)(i - center.y) / center.y;
double weight = exp((dx*dx + dy*dy)*scale);
uchar* ptr = &CV_IMAGE_ELEM(image, uchar, i, j * 3);
ptr[0] = cvRound(ptr[0] * weight);
ptr[1] = cvRound(ptr[1] * weight);
ptr[2] = cvRound(ptr[2] * weight);
}
Mat src;Mat dst;
src = cvarrToMat(image);
cv::imwrite("test.png", src);
cvNamedWindow("test",1); imshow("test", src);
cvWaitKey();
return 0;
```
}
保存并编译
gcc test.cpp -o test `pkg-config --cflags --libs opencv
运行
./test
ok,成功!