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

最后效果:

三.总结

学习。

相关推荐
weixin_468466853 小时前
从“看懂”到“做到”:视觉-语言-动作模型如何让机器人真正执行指令
人工智能·ai·机器人·大语言模型·前沿科技
朋友圈自动点赞工具3 小时前
科学AI插件化:从蛋白质结构到古籍修复
人工智能
龙粤GEO4 小时前
实体Entity在GEO中代表什么含义
人工智能
剑雨巍巍5 小时前
AI Agent面试之基础概念
人工智能
微帧Visionular5 小时前
AI视频单帧清晰,播放时却闪烁,原因是什么?
人工智能·深度学习·音视频
武子康5 小时前
MultiNet6 空闲崩溃:`EXCVADDR=0x8` 后又出现 `CORRUPT HEAP`
人工智能·后端·agent
云智慧AIOps社区5 小时前
智能巡检机器人应用场景解析:机房巡检、园区安防、管廊巡视与展厅导览
人工智能·机器人·具身智能·智能巡检机器人·企业级智能巡检机器人·机房巡检机器人·导览机器人
EnCi Zheng5 小时前
Agent 如何进行工具调用:从一次 Function Calling 到生产级工具编排的完整链路
大数据·人工智能·agent·ai编程·工具调用
赛博守夜人5 小时前
AI安全攻防与治理之十四:AI 安全测试不能脱离传统安全,Web、API、移动端与模型攻击面的组合拳
前端·人工智能·安全
lovingsoft5 小时前
AI 时代未来软件形态趋势:从固定功能应用,走向意图驱动、智能体原生的柔性系统-浅析
人工智能