基于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 构建

最后效果:

三.总结

学习。

相关推荐
落叶_托管中13 分钟前
不懂代码不会设计,AI帮我2天搞定公司官网
人工智能
阿豪啊24 分钟前
VSCode AI三大模式,Copilot与通义灵码对比指南
人工智能·visual studio code
_一条咸鱼_33 分钟前
AI 大模型 A2A 与 MCP 协议的区别
人工智能·深度学习·机器学习
飞哥数智坊1 小时前
即梦3.0:真正可用的AI生图
人工智能
沛沛老爹1 小时前
RPA VS AI Agent
人工智能·rpa·ai agent
Andy__M1 小时前
【AI入门】MCP 初探
人工智能·python·mac
小虚竹1 小时前
解锁AI未来,开启创新之旅——《GPTs开发详解》与《ChatGPT 4应用详解》两本书的深度解析
人工智能·chatgpt
aflyingwolf_pomelo1 小时前
波束形成(BF)从算法仿真到工程源码实现-第四节-最小方差无失真响应波束形成(MVDR)
人工智能·算法·信号处理
zhaoyqcsdn1 小时前
Eigen库的core模块源码阅读笔记
人工智能·经验分享·笔记·算法
_沉浮_2 小时前
Spring AI使用tool Calling和MCP
java·人工智能·spring