当前位置: 首页 > news >正文

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

一.安装OpenCV3.x

# 安装依赖
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

下载好的文件里有以下内容
在这里插入图片描述

二.编译文件

#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编译命令

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

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 构建
在这里插入图片描述

最后效果:
在这里插入图片描述

三.总结

学习。

http://www.dtcms.com/a/122161.html

相关文章:

  • dify使用知识库
  • 机器学习02——概要
  • Ansible的使用
  • Java面试黄金宝典44
  • Yalmip工具箱(3)——错误类型
  • SHAP 能帮我们精准看穿预测模型的因果关系吗?
  • NO.81十六届蓝桥杯备战|数据结构-Trie树-字典树-前缀树|于是他错误的点名开始了|最大异或对 The XOR Largest Pair(C++)
  • 汽车售后诊断 ODX 和 OTX 对比分析报告
  • JSX 中,`style` 和 `className` 是两种不同的样式控制方式
  • ctfshow——web入门186~190
  • Feign修仙指南:声明式HTTP请求的优雅之道
  • Java中23种设计模式之代理模式
  • Codeforces Round 970 (Div. 3)题解
  • 物联网与边缘计算之边缘计算节点设计与协议(MQTT、CoAP)
  • uniapp:微信小程序,一键获取手机号
  • 如何优化 App 启动速度以实现快速打开
  • 在Python中对一个数取整
  • Rust在航空电子软件开发中的可行性研究:现状与展望
  • Kafka生产者和消费者:数据管道的核心引擎与智能终端
  • 【学习笔记】字符串string的常用处理方法(C++)
  • 批量给 jpg/png 等格式图片添加文字水印或图片水印
  • 算法训练之位运算
  • 记一次ubantu搭建vulhub靶场。从docker安装到拉取vulhub靶场一条龙服务
  • 数据结构刷题之贪心算法
  • Apache Nifi安装与尝试
  • 从政策引领到实战应用:消防救援“一张图”的蜕变之路
  • B站充电视频下载器(需配合会员Cookie使用,仅供学习交流,Python)
  • 【Ubuntu】超详细安装Ubuntu系统
  • 头歌 | WPS 文档 设置样式
  • Python+Requests 企业级接口测试入门(1~3天)