參考博文:
https://blog.csdn.net/qq_47432746/article/details/147203889
一、安裝依賴包
sudo apt install build-essential cmake git pkg-config libgtk-3-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev libjpeg-dev libpng-dev libtiff-dev gfortran openexr libatlas-base-dev python3-dev python3-numpy libtbb2 libtbb-dev libdc1394-22-dev libopenblas-dev liblapack-dev libprotobuf-dev protobuf-compiler libgoogle-glog-dev libgflags-dev libgphoto2-dev libeigen3-dev libhdf5-dev doxygen
二、下載opencv源碼
https://codeload.github.com/opencv/opencv/zip/refs/tags/4.9.0
三、進行opencv目錄進行編譯
cd opencvmkdir bulid installsudo cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/opencv470 -D OPENCV_GENERATE_PKGCONFIG=ON -D BUILD_opencv_java=OFF -D BUILD_opencv_python3=ON -D WITH_OPENMP=OFF -D WITH_GSTREAMER_0_10=OFF -D WITH_VTK=OFF -D WITH_LIBV4L=ON -D WITH_OPENMP=ON -D WITH_OPENGL=ON -D WITH_TBB=ON -D BUILD_SHARED_LIBS=ON -D ENABLE_PIC=ON -D WITH_ARITH_DEC=ON -D WITH_ARITH_ENC=ON -D WITH_FFMPEG=ON -D WITH_GSTREAMER=ON -D WITH_IMGCODEC_HDR=ON -D WITH_IMGCODEC_PXM=ON -D WITH_IMGCODEC_SUNRASTER=ON -D WITH_JASPER=ON -D WITH_JPEG=ON -D WITH_LAPACK=ON -D WITH_PNG=ON -D WITH_QT=ON -D WITH_PTHREADS_PF=ON -D WITH_TIFF=ON -D WITH_WEBP=ON -D WITH_GTK=ON -D WITH_OPENCL=ON ..
四、編譯成功后安裝
sudo make -j8
sudo make install
五、創建一個c++文件測試是否成功
5.1 創建一個cpp
名稱:opencv.cpp
#include <opencv2/opencv.hpp>
using namespace cv;int main() {// 讀取圖像Mat src = imread("ORI.png"); // 替換為您的圖片路徑if (src.empty()) {std::cerr << "Error: Image not found!" << std::endl;return -1;}// 顯示圖像imshow("Image", src);waitKey(6000); // 等待6秒后關閉窗口return 0;
}
5.2 CMakeLists.txt文件的編寫
cmake_minimum_required(VERSION 2.8)
project(test_opencv)set(OpenCV_DIR "/usr/local/opencv470") # 根據實際安裝路徑修改
find_package(OpenCV REQUIRED)
aux_source_directory(. SRCS )#file(GLOB_RECURSE SRC ./src/*.cpp) include_directories(${OpenCV_INCLUDE_DIRS})
#add_executable(test_opencv ${SRC})add_executable(test_opencv opencv.cpp)
target_link_libraries(test_opencv ${OpenCV_LIBS})
5.3編譯及實現功能
mkdir build
cd build
cmake ..
make
上述功能能夠實現,說明在rk3588上opencv的編譯已經完成且成功。