月度归档: 2025 年 7 月

15 篇文章

waitKey() 函数
waitKey() 是 OpenCV 中一个关键但常被误解的函数,它在图像处理和计算机视觉应用中扮演着核心角色。本文将全面解析这个函数的工作原理和多种高级用法。 函数基础 原型与参数 int cv::waitKey(int delay = 0); delay: 等待时间(毫秒) delay = 0:…
OpenCV图像颜色空间转换
在计算机视觉中,颜色空间转换是基础操作。OpenCV 提供了强大的颜色空间转换功能,主要通过 cv::cvtColor() 函数实现。以下是详细指南: 核心函数 #include <opencv2/opencv.hpp> void cv::cvtColor( cv::InputArray…
opencv安装及配置
以下是详细配置步骤(基于 OpenCV 4.x + Visual Studio 2022,其他版本可参考调整): 步骤 1:安装必要组件 下载 OpenCV官网下载地址 → 选择 Windows 版(如 opencv-4.8.0-vc14_vc15.exe) 安装 OpenCV双击下载的 .exe …
OpenCV 视频操作详解
一、视频读取接口:VideoCapture cv::VideoCapture cap; 关键方法及参数: 打开视频源 // 从文件打开 bool open(const String& filename, int apiPreference = CAP_ANY); // 从摄像头打开 bool…
图像读取、显示和保存
OpenCV 是计算机视觉领域最常用的库之一,掌握图像的读取、显示和保存是使用 OpenCV 的基础。下面我将详细讲解这些操作的 C++ 实现。 核心功能概述 读取图像:从文件系统加载图像到内存 显示图像:在窗口中可视化图像 保存图像:将处理后的图像保存到文件系统 详细讲解 1. 图像读取 cv::…
OpenCV学习笔记
软件安装和环境配置 mat容器 mat类数据读取 mat支持的运算 图像读取显示保存 image watch的使用 视频加载与摄像头使用 图像颜色空间变化 多通道分离与合并 图像像素对比 图像像素逻辑操作 图像二值化 LUT查找表 图像尺寸变化 仿射变化 透视变化 绘制图形 ROI区域截取 高斯图像…
指针步长访问mat类数据
在 OpenCV 中,使用 mat.data 指针结合步长(step)进行直接内存访问是最底层、最高效的矩阵访问方式。这种方式需要手动计算元素位置,但能实现极致性能。以下是详细解析和正确使用方法: 1. 核心概念与公式 访问元素位置的通用计算公式: // 多维度通用公式(以3维矩阵为例) uchar…
Mat 类容器详解
Mat 是 OpenCV 中最核心的数据结构,用于存储和操作多维数组(如图像、矩阵等)。我将从多个维度全面解析 Mat 类容器: 一、核心设计理念 1. 内存管理机制 矩阵头(Header):存储元信息(尺寸、数据类型、通道数等) 数据指针(Data Pointer):指向实际内存块 引用计数:基于…
mat数据读取
OpenCV 的 Mat 类提供了多种灵活的数据读取方式,不同的方法在 效率、安全性 和 适用场景 上各有优劣。以下是详细的分类解析和代码示例: 1. 高效指针访问(推荐用于大规模数据) (1) 单通道连续内存访问 cv::Mat mat(100, 100, CV_8UC1); // 单通道灰度图 …