opencv 安装

opencv 安装

工具

bash 复制代码
sudo apt-get install cmake

依赖包

bash 复制代码
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff4.dev libswscale-dev libjasper-dev
bash 复制代码
sudo make
sudo make install
  • 配置环境
bash 复制代码
sudo /bin/bash -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'
bash 复制代码
sudo ldconfig
bash 复制代码
sudo vim /etc/bash.bashrc  
bash 复制代码
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig  
export PKG_CONFIG_PATH  
bash 复制代码
source /etc/bash.bashrc  
bash 复制代码
sudo updatedb  

测试

bash 复制代码
cd opencv-3.4.1/samples/cpp/example_cmake

cmake .
make
./opencv_example
bash 复制代码
cd /home/syh/temp/opencv2/helloworld

vim CMakeLists.txt

cmake .
make
./helloworld
bash 复制代码
vim zz.cpp
vim 复制代码
#include "opencv2/core.hpp"
#include "opencv2/imgproc.hpp"
#include "opencv2/highgui.hpp"
#include "opencv2/videoio.hpp"
#include <iostream>
using namespace cv;
using namespace std;
int main()
{
    cout << "Built with OpenCV " << CV_VERSION << endl;
    Mat image = imread("000001.JPEG");
    cout << image.cols <<"," << image.rows << endl;

    resize(image, image, Size(360, 202));

    cout << "after resize:" << endl;
    cout << image.cols <<"," << image.rows << endl;
    cvtColor(image, image, CV_RGB2GRAY);
}
bash 复制代码
vim CMakeLists.txt
vim 复制代码
# cmake needs this line
cmake_minimum_required(VERSION 2.8)

# Define project name
project(helloworld_project)

# Find OpenCV, you may need to set OpenCV_DIR variable
# to the absolute path to the directory containing OpenCVConfig.cmake file
# via the command line or GUI
find_package(OpenCV REQUIRED)

# If the package has been found, several variables will
# be set, you can find the full list with descriptions
# in the OpenCVConfig.cmake file.
# Print some message showing some of them
message(STATUS "OpenCV library status:")
message(STATUS "    version: ${OpenCV_VERSION}")
message(STATUS "    libraries: ${OpenCV_LIBS}")
message(STATUS "    include path: ${OpenCV_INCLUDE_DIRS}")

if(CMAKE_VERSION VERSION_LESS "2.8.11")
  # Add OpenCV headers location to your include paths
  include_directories(${OpenCV_INCLUDE_DIRS})
endif()

# Declare the executable target built from your sources
add_executable(helloworld zz.cpp)

# Link your application with OpenCV libraries
target_link_libraries(helloworld PRIVATE ${OpenCV_LIBS})

Error

bash 复制代码
undefined reference to TIFFReadEncodedStrip@LIBTIFF_4.0'

# 解决方案
sudo mv /usr/local/anaconda3/lib/libtiff.so* ~/temp
相关推荐
醍醐实验室6 分钟前
推理链中的 Token 冗余与剪枝:消除无意义语气词对注意力权重的稀释
人工智能
梦想的颜色21 分钟前
2026 年 9 月主流 AI 视频生成模型横向硬核测评:价格、能力定位、质量、Agent 工作流适配
人工智能·aigc·大模型测评·ai视频大模型·minimax h3·seedance 2.5
AI 思录23 分钟前
Prompt 事故档案(五):AI 道歉,还是“道德漂白”?
人工智能·安全·prompt·用户体验·ai安全·ai幻觉
天衍四九-30 分钟前
Agent Skills从入门到工程化(十六):面试中如何讲清楚 Agent Skills?
大数据·数据库·人工智能·python·chatgpt·面试
Capricorn198832 分钟前
跨端同步与记忆锁定排障:OpenClaw 2.0 Active Memory 云端劫持危机,知芽 Notebook Skill 单元记忆架构解析
大数据·论文阅读·人工智能·笔记·架构·论文笔记
GMATG_LIU32 分钟前
DSC-TGA同步热分析技术:原理、应用与发展
人工智能
秋天的一阵风39 分钟前
🤔首屏Banner压到40KB,LCP还是4秒?原来一直搞错了最大渲染元素
前端·人工智能·面试
ONEYAC唯样39 分钟前
ROHM新品 | 以1005尺寸实现0.33W!ROHM开发出高抗浪涌贴片电阻器
人工智能
吴佳浩 Alben39 分钟前
多智能体系统的通信风暴与死锁治理:生产级降级与容灾方案
人工智能·docker·ai·容器·架构
Csvn43 分钟前
第 18 章 学习与适应 Learning
人工智能·aigc·agent