基于OpenCV的图像处理程序设计实践

一.安装OpenCV3.x

bash 复制代码
# 安装依赖
sudo apt update
sudo apt install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev

# 下载OpenCV源码
git clone https://github.com/opencv/opencv.git -b 3.4
cd opencv
mkdir build && cd build

# 编译安装
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
make -j$(nproc)
sudo make install

下载好的文件里有以下内容

二.编译文件

c 复制代码
#include <opencv2/opencv.hpp>
using namespace cv;

int main() {
    Mat image = imread("test.jpg");  // 读取图片
    if (image.empty()) {
        printf("Image not found!\n");
        return -1;
    }
    Mat gray, blurred;
    cvtColor(image, gray, COLOR_BGR2GRAY);      // 转为灰度图
    GaussianBlur(image, blurred, Size(15, 15), 0); // 高斯模糊
    imshow("Original", image);
    imshow("Grayscale", gray);
    imshow("Blurred", blurred);
    waitKey(0);
    return 0;
}

gcc编译命令

bash 复制代码
g++ test1.cpp -o test1 `pkg-config --cflags --libs opencv`
#pkg-config --cflags opencv:输出OpenCV的 头文件路径(如-#I/usr/local/include/opencv4)。

#pkg-config --libs opencv:输出OpenCV的 库文件链接参数(如-lopencv_core -lopencv_highgui)。

#反引号 `:将命令的输出结果嵌入到g++命令中,自动填充路径和库名。

或Makefile 构建

bash 复制代码
CC = g++
CFLAGS = `pkg-config --cflags opencv`
LIBS = `pkg-config --libs opencv`
TARGET = test1
SRC = test1.cpp

all: $(TARGET)

$(TARGET): $(SRC)
	$(CC) $(CFLAGS) $< -o $@ $(LIBS)

clean:
	rm -f $(TARGET)

-------------------------------------
make      # 编译
./test1   # 运行
make clean  # 清理

或使用CMake 构建

最后效果:

三.总结

学习。

相关推荐
王中阳Go19 小时前
09 Go Eino AI应用开发实战 | Hertz Web 框架搭建
人工智能·后端·go
智驱力人工智能19 小时前
从人海战术到智能巡逻 城市街道违规占道AI识别系统的实践与思考 占道经营检测系统价格 占道经营AI预警系统
人工智能·安全·yolo·目标检测·无人机·边缘计算
STLearner19 小时前
VLDB 2025 | 时间序列(Time Series)论文总结(预测,异常检测,压缩,自动化等)
数据库·人工智能·深度学习·神经网络·机器学习·数据挖掘·时序数据库
GEO-optimize19 小时前
2025年末GEO服务商推荐甄选:综合实力测评及优选指南
人工智能·搜索引擎·geo
Ven%19 小时前
【AI大模型算法工程师面试题解析与技术思考】
人工智能·python·算法
我很哇塞耶19 小时前
BOSS直聘3B超越Qwen3-32B,更多训练数据刷新小模型极限
人工智能·ai·大模型
趁你还年轻_19 小时前
超越对话:AI 智能体如何自主完成复杂任务?
人工智能
禾高网络20 小时前
互联网医院系统,互联网医院系统核心功能及技术
java·大数据·人工智能·小程序
AI营销实验室20 小时前
原圈科技AI CRM系统:数据闭环与可视化革新的行业突破
大数据·人工智能
AndrewHZ20 小时前
【复杂网络分析】什么是图神经网络?
人工智能·深度学习·神经网络·算法·图神经网络·复杂网络