Opencv 4.5.5 linux contrib编译

bash 复制代码
# 0. 将contrib文件夹移动到opencv文件夹中去
mkdir build
cd build

# 1. cmake生成配置文件,其中OPENCV_EXTRA_MODULES_PATH的路径中写明contrib模块的路径
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=Release -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib-4.5.5/modules ..

# 2. 编译和生成
make -j16
# 3. 安装
sudo make install # 将库拷贝到/usr/local中

# 4. 生成配置文件
sudo gedit /etc/bash.bashrc # 文末添加以下内容
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH

# 5.向系统更新配置文件
source /etc/bash.bashrc

# 6. 生成opencv.conf文件,就可以利用pkg-config链接到库了
sudo gedit /etc/ld.so.conf.d/opencv.conf # 添加库的路径: /usr/local/lib
# 7. 更新pkg-config文件
sudo ldconfig
sudo updatedb


# 8.测试是否安装好了
pkg-config --modversion opencv
pkg-config --libs opencv

出现以下内容,说明安装成功了!
-L/usr/local/lib -lopencv_shape -lopencv_stitching -lopencv_objdetect -lopencv_superres -lopencv_videostab -lopencv_calib3d -lopencv_features2d -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs -lopencv_video -lopencv_photo -lopencv_ml -lopencv_imgproc -lopencv_flann -lopencv_core


# 9. 测试程序
/home/helen/code/C++code/yolov5_zhr/main$ g++ main.cpp -o main `pkg-config --cflags --libs opencv`
/usr/bin/ld: 找不到 -lopencv_shape
/usr/bin/ld: 找不到 -lopencv_superres
/usr/bin/ld: 找不到 -lopencv_videostab
collect2: error: ld returned 1 exit status

出现的bug为没有编译contrib文件夹,重新编译contrib后再试:编译成功!

复制代码
./main: error while loading shared libraries: libopencv_highgui.so.405: cannot open shared object file: No such file or directory
# 解决办法
sudo ldconfig # 更新一下库文件,因为刚刚才执行了 make install

main.cpp的代码如下:

cpp 复制代码
#include <stdio.h>
#include <opencv2/highgui.hpp>
#include <opencv2/opencv.hpp>

int main(){
    // printf("hello world\n");
    cv::Mat img;
    img = cv::imread("/home/helen/dataset/boat/FN-frames/0a19.jpg");
    if(img.empty()){
        std::cout << "fail to read img" << std::endl;
    }
    cv::namedWindow("Image");
    cv::imshow("Image", img);
    cv::waitKey(0);

    return 0;
}
// g++ main.cpp -o main  编译并生成C++文件 -o是目标文件
// 执行main文件 "/home/helen/code/C++code/yolov5_zhr/"main
相关推荐
雍凉明月夜19 小时前
Ⅰ人工智能学习的核心概念概述+线性回归(1)
人工智能·学习
Dyanic19 小时前
融合尺度感知注意力、多模态提示学习与融合适配器的RGBT跟踪
人工智能·深度学习·transformer
这张生成的图像能检测吗19 小时前
(论文速读)AIMV2:一种基于多模态自回归预训练的大规模视觉编码器方法
人工智能·计算机视觉·预训练·视觉语言模型
这儿有一堆花19 小时前
使用 Whisper 转写语音的完整教学
人工智能·ai·whisper
JD技术委员会19 小时前
如何在风险未提前识别导致损失后改进风险机制
人工智能
xuehaikj20 小时前
基于Mask R-CNN的汽车防夹手检测与识别系统
人工智能·汽车
AndrewHZ20 小时前
【图像处理基石】 怎么让图片变成波普风?
图像处理·算法·计算机视觉·风格迁移·cv
野生面壁者章北海20 小时前
ICML2025|基于Logits的大语言模型端到端文本水印方法
人工智能·语言模型·自然语言处理
说私域20 小时前
开源AI智能名片链动2+1模式S2B2C商城小程序:分享经济时代的技术赋能与模式创新
人工智能·小程序·开源
HaiLang_IT21 小时前
基于深度学习的磁共振图像膝关节损伤多标签识别系统研究
人工智能·深度学习