一、安装OpenCV
1.下载安装包
国内快速下载地址:https://www.bzblog.online/wordpress/index.php/2020/03/09/opencvdownload/
在网页中下载安装包
将安装包移动到主目录,解压安装包
unzip opencv-3.4.14.zip
2.安装
使用cmake
安装opencv
进入解压后的目录,并更新apt
sudo apt-get update
执行sudo apt-get install cmake
命令安装cmake
使用下面这条命令,安装依赖库
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff5.dev libswscale-dev
创建build
文件夹,并进入该文件夹
mkdir build
cd build
使用cmake
编译参数,或者使用第二条默认参数,都可以的
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local …
cmake …
使用make
创建编译
sudo make
编译完成
安装make
sudo make install
未报错,即安装成功
二、环境配置
修改opencv.conf
文件,打开后的文件是空的,添加opencv
库的安装路径:/usr/local/lib
sudo gedit /etc/ld.so.conf.d/opencv.conf
保存后更新系统共享链接库
sudo ldconfig
配置bash
,修改bash.bashrc
文件
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
查看 opencv
的版本信息
pkg-config --modversion opencv
环境配置成功
三、案例测试
创建test1.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;
}
同文件下准备一张图片,文件名为1.png
执行以下命令:
g++ test1.cpp -o test1 `pkg-config --cflags --libs opencv`
输出结果:
./test1
可以看到由1.png
生成了一个 test.png
,呈现的效果不同了