Linux 环境下使用 OpenCV 显示图片

Linux 环境下使用 OpenCV 显示图片

      • 一、下载虚拟机
      • 二、下载镜像文件(我用的 ubuntu)
      • 三、安装虚拟机
      • 四、打开虚拟机
      • 五、安装 opencv 依赖包
      • 六、下载 OpenCV
      • 七、解压 OpenCV
      • 八、编译安装 opencv
      • 九、测试,使用 OpenCV 显示图片
      • 十、可能遇到的问题

一、下载虚拟机

① 浏览器地址栏输入 https://www.vmware.com
② 下载 -> 免费产品试用版和演示 -> Workstation Pro
Linux 环境下使用 OpenCV 显示图片_第1张图片
③ 点击"立即下载"
Linux 环境下使用 OpenCV 显示图片_第2张图片
④ 想激活?自己想办法
Linux 环境下使用 OpenCV 显示图片_第3张图片

二、下载镜像文件(我用的 ubuntu)

① 浏览器地址栏输入 https://www.ubuntu.com/download/desktop
② 点击下载
Linux 环境下使用 OpenCV 显示图片_第4张图片

三、安装虚拟机

略,自行百度安装虚拟机过程,基本都是下一步下一步,我已经安装过了,就不卸载再重装了

四、打开虚拟机

① 找到你 VMware 的安装目录,双击 vmware.exe
Linux 环境下使用 OpenCV 显示图片_第5张图片
② 开启虚拟机
Linux 环境下使用 OpenCV 显示图片_第6张图片

五、安装 opencv 依赖包

进入 root 权限(需要输入密码,输入第一次启动虚拟机时设置的密码)
sudo su
进入 root 权限
下面的命令,可以一次安装多个(依赖文件名中间用空格隔开就行),我这里是一个一个装的

apt install cmake
Linux 环境下使用 OpenCV 显示图片_第7张图片
apt install build-essential
Linux 环境下使用 OpenCV 显示图片_第8张图片
apt install pkg-config
apt install pkg-config
apt install libgtk2.0-dev
apt install libgtk2.0-dev
apt install libavcodec-dev
apt install libavcodec-dev
apt install libavformat-dev
apt install libavformat-dev
apt install libswscale-dev
Linux 环境下使用 OpenCV 显示图片_第9张图片
apt install libjpeg-dev
apt install libjpeg-dev
apt install libpng-dev
apt install libpng-dev
apt install libtiff-dev
apt install libtiff-dev
apt install libjasper-dev
apt install libjasper-dev
问题:安装 libjasper-dev 提示无法定位软件包
尝试解决办法:
sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
Linux 环境下使用 OpenCV 显示图片_第10张图片
② sudo apt update
Linux 环境下使用 OpenCV 显示图片_第11张图片
③ sudo apt install libjasper1 libjasper-dev
Linux 环境下使用 OpenCV 显示图片_第12张图片
④ 然后再尝试安装,apt install libjasper-dev
再次尝试执行 libjapser-dev
libjasper-dev 安装完成,继续安装其他的依赖

apt install ffmpeg
apt install ffmpeg

六、下载 OpenCV

下载 wget https://github.com/opencv/opencv/archive/3.4.0.zip,(3.4.0 版,我看好多人都用的这个,我也用这个)
Linux 环境下使用 OpenCV 显示图片_第13张图片
下载 wget https://github.com/opencv/opencv_contrib/archive/3.4.0.zip
Linux 环境下使用 OpenCV 显示图片_第14张图片
如果下载不下来,尝试使用迅雷下载文件,下载完成后,复制粘贴到虚拟机中

重命名刚下载的两个文件(3.4.0.zip 是第一个下载的,3.4.0.zip.1 是第二个下载的)
Linux 环境下使用 OpenCV 显示图片_第15张图片

七、解压 OpenCV

解压 opencv-3.4.0.zip 到 home 目录
解压 opencv-3.4.0.zip 到 home 目录
解压 opencv_contrib-3.4.0.zip 到 home 目录
解压 opencv_contrib-3.4.0.zip 到 home 目录
查看 home 目录下解压的文件
查看 home 目录下解压的文件

八、编译安装 opencv

注:cmake 和两个点之间有个空格

cd /home/opencv-3.4.0
mkdir build
cd build
cmake ..
make
sudo make install

九、测试,使用 OpenCV 显示图片

① 选择任意目录,新建文件夹,举个栗子:在 /usr 目录下新建 display_image
mkdir /usr/display_image
② 进入 /usr/display_image 目录
cd /usr/display_image
③ 编写 CMakeLists.txt
gedit CMakeLists.txt

CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
PROJECT(display_image)
FIND_PACKAGE(OpenCV REQUIRED)
ADD_EXECUTABLE(display_image show_image.cpp)
TARGET_LINK_LIBRARIES(display_image ${OpenCV_LIBS})

上面的 display_image 为 ① 中创建的文件夹名,show_image.cpp 为即将编写的 C++ 文件
④ 编写 show_image.cpp,用于显示图片
gedit show_image.cpp

#include <opencv2/opencv.hpp>

using namespace cv;

int main(int argc, char* argv[]) {
    if (argc != 2) {
	printf("usage: image.out \n");
        return -1;
    }
    
    Mat img_mat;
    img_mat = imread(argv[1], 1);
    if (!img_mat.data) {
        printf("NO image data\n");
        return -1;
    }
    imshow("img", img_mat);
    waitKey(0);
    return 0;
}

⑤ 创建 build 文件夹
mkdir build
⑥ 进入 build 文件夹
cd build
⑦ 执行命令
cmake …
⑧ 执行命令
make

一切顺利的话,那么此时 build 目录下会有一个 display_image 的文件
编译 display_image
上面的 cat.jpg 是我提前准备的一张图片,用于显示

⑨ 执行命令,显示猫片
./display_image cat.jpg
Linux 环境下使用 OpenCV 显示图片_第16张图片
O**K,这猫我先撸为敬

十、可能遇到的问题

问题 1:Falied to load module “canberra-gtk-module”
Falied to load module
解决办法:
apt install libcanberra-gtk-module
apt install libcanberra-gtk-module
问题 2:E: 无法获得锁 /var/lib/dpkg/lock-frontend - open (11: 资源暂时不可用)
解决办法:

// 强制解锁
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock

还不行,关闭当前终端,重新打开一个终端试试
还不行,重启虚拟机试试

祝你好运,祝地球好运…

你可能感兴趣的:(OpenCV)