安装python3,pip,numpy,g++,cmake,make,wget,unzip, pkg-config,
opencv依赖的库(能在网页上找多少就找多少。。。这些也不一定全)
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev
sudo apt-get install libgtk2.0-dev
sudo apt-get install pkg-config
从官网下载opencv的sources(此处使用4.6)
放在opt下面unzip,cd进去之后建立build文件夹,然后cmake如下:
sudo cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=$cwd/installation/OpenCV-"$cvVersion" \ -D INSTALL_C_EXAMPLES=ON \ -D INSTALL_PYTHON_EXAMPLES=ON \ -D WITH_TBB=ON \ -D WITH_V4L=ON \ -D OPENCV_PYTHON3_INSTALL_PATH=$cwd/OpenCV-$cvVersion-py3/lib/python3.5/site-packages \ -D WITH_QT=ON \ -D WITH_OPENGL=ON \ -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \ -D BUILD_EXAMPLES=ON ..
下一步编译,知道或者确定要划定线程数的,可以用make j8等,不知道的或者想尽量加速的,可以用make -j$(nproc)
下一步make install
然后测试是否安装成功。
python3 -c "import cv2; print(cv2.__version__)"
出现Python对应的opencv版本号
pkg-config --modversion opencv
出现cpp对应的opencv版本号
即为安装成功。
下面为测试程序(cpp版本),cpp程序为
#include <stdio.h>
#include <opencv2/opencv.hpp>
using namespace cv;
int main(int argc, char** argv )
{
if ( argc != 2 )
{
printf("usage: DisplayImage.out <Image_Path>\n");
return -1;
}
Mat image;
image = imread( argv[1], 1 );
if ( !image.data )
{
printf("No image data \n");
return -1;
}
namedWindow("Display Image", WINDOW_AUTOSIZE );
imshow("Display Image", image);
waitKey(0);
return 0;
}
CMakeLists.txt应为:
cmake_minimum_required(VERSION 2.8)
project( DisplayImage )
find_package( OpenCV REQUIRED )
include_directories( ${OpenCV_INCLUDE_DIRS} )
add_executable( DisplayImage DisplayImage.cpp )
target_link_libraries( DisplayImage ${OpenCV_LIBS} )
图片存于同一文件夹下,cmake,make后out文件显示图片即可。