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
相关推荐
长谷深风1116 分钟前
根因定位:三步隔离法破解AIBadcase
人工智能·ai·大模型·retrieval·ai智能体·aiagent·aibadcase
陈碧甫10 分钟前
元龙因果链的因果生成式写作
人工智能
deepseek2310 分钟前
GPT-6 Astra 破解 FrontierMath 九年悬案拆解:调和熵投票规则反证核恒非空,局部搜索如何终结反例悬赏
人工智能·算法·ai agent
Chukai12314 分钟前
AI智能体:会思考会干活的下一代AI
人工智能·agent
9呀17 分钟前
[skill] agent 自动保存聊天记录到md文件 skill auto-save-md
人工智能
怕浪猫17 分钟前
一行命令复刻爆款视频,我把 Hypit 从安装跑到了出片
人工智能·设计模式·程序员
Raas10023 分钟前
MAI Gateway(魔芋企业级AI网关)功能全解:AI网关支持本地模型吗?一文看懂AI网关能力矩阵
大数据·人工智能·网关·ai网关·mai gateway·企业级产品
蜗牛互联网27 分钟前
AI给面试打分不够,求职者更需要可核对的证据
java·人工智能·后端
不开大的凯207730 分钟前
跑分已死,交付为王
人工智能·ai·麦当秀aippt·ai office
AI多Agent协作实战派36 分钟前
【AI探索历程19】飞牛版:给NAS用户的一键部署
人工智能