# Ubuntu install c++ version of OpenCV + opencv_contrib * simple install OpenCV (不能指定版本-->不推薦) ```bash sudo apt-get install libopencv-dev ``` * install dependency package ```bash sudo apt-get install gcc g++ cmake pkg-config build-essential sudo apt-get install libgtk2.0-dev libavcodec-dev libavformat-dev libtiff5-dev libswscale-dev libjasper-dev ``` * download the opencv package (use 3.4 version) ```bash cd ~ git clone https://github.com/opencv/opencv.git ``` * configure OpenCV ```bash cd opencv mkdir build cd build cmake -D CMAKE_BUILD_TYPE=Release -D OPENCV_GENERATE_PKGCONFIG=YES -D CMAKE_INSTALL_PREFIX=/usr/local .. ``` * make OpenCV ```bash make -j4 sudo make install ``` * configure pkg-config ```bash sudo vim /etc/ld.so.conf 加入: /usr/local/lib sudo ldconfig -v export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig ``` * check opencv version ```bash pkg-config --modversion opencv4 ``` * configure opencv_contrib ```bash cmake -D CMAKE_BUILD_TYPE=RELEASE -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib-3.4.5/modules .. ``` * make opencv_contrib ```bash make -j4 sudo make install ``` ___ * libopencv_core.so.3.4: cannot open shared object file: No such file or directory ```bash sudo find / -name "libopencv_core.so.3.4" sudo vim /etc/ld.so.conf.d/opencv.conf 加入: /usr/local/lib or /usr/local/lib/x86_64-linux-gnu sudo ldconfig -v ``` ___ * sample code ```cpp= #include <opencv2/highgui.hpp> #include <iostream> int main( int argc, char** argv ) { cv::Mat image; image = cv::imread("lena.jpg",cv::IMREAD_COLOR); if(! image.data) { std::cout<<"Could not open file" << std::endl; return -1; } cv::namedWindow("lena", cv::WINDOW_AUTOSIZE); cv::imshow("lena", image); cv::waitKey(0); return 0; } ``` ___ * Reference https://hackmd.io/@xpg109/H1wZiRUNF https://bbs.huaweicloud.com/blogs/375024 https://blog.csdn.net/weixin_37950717/article/details/125222006 https://blog.csdn.net/DSK_981029/article/details/111143231 https://blog.csdn.net/jiexijihe945/article/details/126163341
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up