Ubantu16.04编译OPENVC3.4教程

Ubantu16.04编译OPENVC3.4教程

目录

1.在linux上下载安装opencv

在官网上下载opencv源文件,如果下载的慢的话可以去国内的镜像网站上下载。例如https://www.raoyunsoft.com/wordpress/index.php/2020/03/09/opencvdownload/

Ubantu16.04编译OPENVC3.4教程

将下载文件复制到home目录下,进行解压配置:

Ubantu16.04编译OPENVC3.4教程

通过

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 ..

Ubantu16.04编译OPENVC3.4教程

再执行命令

sudo make install

Ubantu16.04编译OPENVC3.4教程

Ubantu16.04编译OPENVC3.4教程

sudo make install 执行完毕后OpenCV编译过程就结束了,接下来就需要配置一些OpenCV的编译环境首先将OpenCV的库添加到路径,从而可以让系统找到

执行命令

sudo gedit /etc/ld.so.conf.d/opencv.conf 

打开的这个文件可能是空白的,不用管,只需要在文件末尾添加

/usr/local/lib  

Ubantu16.04编译OPENVC3.4教程

保存后回到命令行界面,执行如下命令使配置生效

sudo ldconfig  

Ubantu16.04编译OPENVC3.4教程

再通过如下命令配置bash

sudo gedit /etc/bash.bashrc  

在这个文件的最末尾添加

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig  
export PKG_CONFIG_PATH  

Ubantu16.04编译OPENVC3.4教程

保存,执行如下命令使得配置生效

source /etc/bash.bashrc  
sudo updatedb  

至此所有的配置都已经完成

2.编写第一个程序

在opencv-3.4.1下新建文件夹mytest,再在其中创建test.cpp,在其中复制如下代码,图片也需要放在同一个文件夹中。

Ubantu16.04编译OPENVC3.4教程

#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

Ubantu16.04编译OPENVC3.4教程

ok,成功!

上一篇:Ubuntu下基于OpenCV完成图像程序编程


下一篇:刷题记录:[RCTF 2019]Nextphp