首先配置Ubuntu的Opencv_contribute环境
参考 地址
1.准备工作
编译环境安装:
sudo apt-get install build-essential
必需包安装:
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev1
可选包安装:
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
2.下载Opencv
从github上下载Opencv以及Contribute
wget https://github.com/opencv/opencv/archive/3.4.1.zip unzip 3.4.1.zip rm 3.4.1.zip wget https://github.com/opencv/opencv_contrib/archive/3.4.1.zip unzip 3.4.1.zip rm 3.4.1.zip
3.编译Opencv
创建目录
cd opencv-3.4.1/ mkdir build/ cd build利用cmake配置
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.4.1/modules ..
编译//多线程
make -j4
然后安安静静等一会儿
然后不要忘记安装
sudo make install
最后然后看一下环境有没有配好
包含目录没问题
库目录页没问题
第二部分配置VS调试项目
ubuntu安装下ssh服务器
sudo apt-get install openssh-server g++ gdb gdbserver
然后windows下192.168.40.133新建一个Linux项目
然后工具-选项--添加
主机名就是IP地址,然后用户名和密码
接着打开项目的属性页面,选择刚刚设置的PC
写一个helloworld试试
done!
第三部分,配置一个opencv_contribute的项目
首先打开熟悉的连接器-输入,把生成的库文件名字复制进来
注意,要把所有的lib .so .a都去掉!!
opencv_aruco opencv_bgsegm opencv_bioinspired opencv_calib3d opencv_ccalib opencv_core opencv_datasets opencv_dnn opencv_dnn_objdetect opencv_dpm opencv_face opencv_features2d opencv_flann opencv_freetype opencv_fuzzy opencv_hfs opencv_highgui opencv_imgcodecs opencv_imgproc opencv_img_hash opencv_line_descriptor opencv_ml opencv_objdetect opencv_optflow opencv_phase_unwrapping opencv_photo opencv_plot opencv_reg opencv_rgbd opencv_saliency opencv_shape opencv_stereo opencv_stitching opencv_structured_light opencv_superres opencv_surface_matching opencv_text opencv_tracking opencv_video opencv_videoio opencv_videostab opencv_xfeatures2d opencv_ximgproc opencv_xobjdetect opencv_xphoto
当然同时也需要告诉VS添加的依赖项目录在哪儿
以及头文件包含目录在哪儿
然后来一段contribute里截图小程序检验一下
#include <opencv2/opencv.hpp> #include <opencv2/tracking.hpp> using namespace cv; int main() { Mat image = imread("test.png"); Rect2d r = selectROI(image, false); imshow("ROI", image(r)); cvWaitKey(-1); return 0; }
终于可以睡觉了(在去掉lib的时候不小心把几个动态库名字里的lib也去掉了……所以调了半天的bug,心疼自己
终于可以睡觉了,2333