
计算机视觉
文章平均质量分 62
你好,明天,,
你好,明天。一个今天胜过两个明天。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Sobel 算子边缘检测——C代码实现
Sobel算子是一种经典的边缘检测方法,通过两个3×3卷积核(水平方向Gx和垂直方向Gy)计算图像梯度,检测灰度变化剧烈的边缘区域。其核心思想是通过加权计算突出中心像素的重要性,提升抗噪能力。算法计算每个像素的梯度强度G=|Gx|+|Gy|,通过阈值处理生成边缘图像。优点包括计算简单、方向敏感性及一定抗噪性,但存在对模糊边缘和噪声敏感的缺点,常需配合平滑预处理使用。文中还提供了Sobel边缘检测的C语言实现代码示例。原创 2025-06-04 15:18:11 · 604 阅读 · 0 评论 -
计算机视觉中用到的差分划分通道二值化等方法——C语言代码实现
摘要:本文介绍在C语言环境中不使用OpenCV实现基础图像处理功能的方法。通过自定义Image结构体和stb_image库实现图像加载/保存,详细说明了通道拆分、差分运算和二值化等核心功能的纯C实现。重点包括:1)使用stb_image处理图像I/O;2)RGB通道分离的内存管理;3)两帧差分运算实现;4)两种二值化处理方式(阈值法和非零法)。代码示例展示了如何手动管理图像数据缓冲区并实现基本图像处理流程,为嵌入式等受限环境下的图像处理提供解决方案。原创 2025-05-30 15:39:17 · 383 阅读 · 0 评论 -
UDP编解码打包发送C++代码总结
本文介绍了UDP数据编码打包与解码处理的实现方法。主要内容包括:1) 通用UDP发送封装函数,实现socket初始化、数据发送和关闭功能;2) 数据包格式设计示例,包含4013字节的数据包结构;3) 使用LZ4压缩算法优化传输效率,压缩比可达100:1;4) 接收端解码实现,包含数据解压、校验和图像重组;5) 跨平台兼容性处理,支持Windows和Linux系统。该方案通过压缩大幅降低了网络传输耗时,适用于需要高效传输二进制数据的应用场景。原创 2025-05-28 15:39:47 · 885 阅读 · 0 评论 -
Ubuntu虚拟机编译安装部分OpenCV模块方法实现——保姆级教程
目前我们已经下载好了OpenCV,这里以OpenCV4.5.2为例。在内存要求尽可能小的情况下,可以尝试只编译安装代码中使用到的OpenCV模块,以压缩OpenCV占用的内存容量,但是由于OpenCV库中很多函数是具备依赖关系的,可能出现编译后缺少某些模块的情况,这里给出一个编译安装部分模块的实现方法。这是编译安装部分模块之后OpenCV占用情况,可以看到共占用内存317.9MB,相比整个编译安装小了一倍多。原创 2025-04-08 11:00:35 · 1061 阅读 · 0 评论 -
VMware安装Ubuntu虚拟机实现C++OpenCV代码在虚拟机下运行教程
设置C++标准 set(CMAKE_CXX_STANDARD 20) # 使用C++20 set(CMAKE_CXX_STANDARD_REQUIRED ON) # 强制要求编译器支持 set(CMAKE_CXX_EXTENSIONS OFF) # 禁用编译器扩展(保持标准行为)使用安装好的VS打开imgProc.hpp、imgProc.cpp、Host.cpp文件,将代码写入并保存,这个过程和Windows系统下在VS写代码的过程是一样的。这里我下载的是20.04LTS版本,对应。原创 2025-04-02 16:32:51 · 786 阅读 · 0 评论 -
OpenCV三维解算常用方法C++
函数的作用是将像素坐标转换为归一化相机坐标(normalized camera coordinates)。进行计算,这是一个标准的立体视觉技术,用于通过两个相机视角中的匹配点估算其三维坐标。归一化后的坐标,它们不再依赖于摄像机的焦距和像素比例,因此可以用于三角测量。通过 X′=X/W,Y′=Y/W,Z′=Z/W 得到真实的三维坐标。计算三维点的位置时,假设输入的点是在无畸变的相机坐标系下。,那么投影矩阵可以简化为 P=[R∣T](去除了相机内参)。这里的 (xc,yc) 是归一化相机坐标,表示。原创 2025-03-25 11:00:02 · 660 阅读 · 0 评论 -
双目系统求坐标系A到坐标系B的旋转矩阵和平移向量——C++代码实现
双目系统求解一个坐标系到另外一个坐标系的 R 和 T 最常用的方法是基于,这个方法在计算机视觉和 3D 配准中被广泛使用,也称为。需要有两个坐标系测量的点,至少有3组对应点(能够组成一个平面的点,即不是一条直线上的点),通过这几组对应点来求解旋转矩阵和平移矩阵。首先,计算和中点集的质心(中心点):然后,将点集转换为计算到的。原创 2025-03-04 17:28:45 · 483 阅读 · 0 评论 -
双目视觉三角测量C++代码实现&不使用OpenCV
这种方法的核心在于利用摄像机的内参和相对位姿(由旋转矩阵和平移向量描述),将图像中的像素坐标转换为三维空间中的射线,并通过求解这些射线的交点来确定物体的空间位置。其中,Pl[2, :] 表示投影矩阵Pl的第三行,而Pl[0, :]表示Pl的第一行,Pr[2, :]和Pr[1, :]分别表示矩阵Pr的第三行和第一行,X是需要解的三维点的齐次坐标。表示左相机在世界坐标系中的位置,这里以左相机为参考坐标系,R是右相机相对于左相机的旋转矩阵,T是右相机相对于左相机的平移向量。首先,左相机的投影矩阵Pl为。原创 2025-02-11 14:47:01 · 983 阅读 · 0 评论 -
双线性插值——C语言代码
双线性插值是一种图像处理中的常用方法,用于在二维平面上根据邻近像素的值来估计目标像素的值。对于像素坐标的求解,为了使坐标计算的更准确,通常会采用插值的方式使边缘细化,同时避免锯齿状边缘。经过插值后可以生成介于原始像素值之间的平滑过渡,增强图像细节,使得边界更柔和,坐标更连续,减少锯齿效应。细分的倍数由新图像的尺寸决定。原创 2024-11-14 15:03:52 · 529 阅读 · 0 评论 -
彩色圆形检测函数不使用OpenCV——C语言代码
代码进行了几次修正,需要注意的是BMP图像是以左上角为原点,以向右为x轴正方向,向下为y轴正方向。在求解中心点坐标时需要注意。软件打开图像查看黄色矩形中心点像素坐标以检验检测结果。原创 2024-10-30 14:10:53 · 460 阅读 · 2 评论 -
彩色矩形检测函数不使用OpenCV——C语言代码
代码进行了几次修正,需要注意的是BMP图像是以左上角为原点,以向右为x轴正方向,向下为y轴正方向。在求解中心点坐标时需要注意。软件打开图像查看黄色矩形中心点像素坐标以检验检测结果。原创 2024-10-30 13:58:39 · 223 阅读 · 0 评论 -
两帧BMP图像差分处理——C语言代码实现
第2中方法是根据既定的阈值进行二值化处理,下面这种方法是自适应阈值处理。以用时最短为目标,不进行灰度化等其他处理步骤。原创 2024-09-30 15:18:37 · 485 阅读 · 0 评论 -
生成靶标图像代码——C语言代码实现
每张图像中包含两个靶标,第一组左右相机拍摄的图像包含靶标1和2,第二组包含靶标3和4。同时输出生成靶标的位置。两个相机在x轴方向上平移。原创 2024-09-30 15:43:12 · 479 阅读 · 0 评论 -
彩色椭圆及矩形检测函数不使用OpenCV——C语言代码实现
代码功能:基于颜色阈值检测图像中的椭圆或圆形,并输出椭圆或圆形的中心点坐标。代码不使用OpenCV,通过遍历像素实现。可以通过如下生成椭圆图像的代码来验证上述代码的功能。原创 2024-10-18 14:52:57 · 420 阅读 · 0 评论 -
OpenCV双目视觉三角测量代码实现C++
在双目视觉系统中,,通过分析同一场景在两个不同视角下的二维图像来确定物体的三维坐标。这种方法的核心在于利用摄像机的内参和相对位姿(由旋转矩阵和平移向量描述),将图像中的像素坐标转换为三维空间中的射线,并通过求解这些射线的交点来确定物体的空间位置。原创 2024-10-22 13:50:59 · 1043 阅读 · 0 评论 -
生成包含彩色椭圆图像——C语言代码实现
示例代码生成1920*1080大小的.bmp彩色图像,图像中包含一个红色。椭圆的位置,大小,颜色可以根据需要修改。圆的位置,大小,颜色可以根据需要修改。,图像背景颜色为黑色。原创 2024-10-18 14:44:27 · 259 阅读 · 0 评论 -
OpenCV单目相机内参标定C++
地,使用库函数检测两组图像(左右相机拍摄图像)中棋盘格的角点;对检测到的角点进行亚像素级别的精确化,以提高角点位置的准确性;根据左右相机拍摄的棋盘格图像及角点位置,计算出两个相机的内参矩阵及畸变系数;生成畸变校正和图像校正的映射表。是左右相机的内参矩阵和畸变系数,以及每幅图像的旋转向量和平移向量,最后计算并输出标定结果的总体平均误差,以评估标定过程的准确性。通过角点检测、亚像素角点定位、角点存储与三维坐标生成和摄像机标定分别获取左右相机的内参。原创 2024-10-22 10:49:00 · 633 阅读 · 0 评论 -
OpenCV双目相机外参标定C++
库实现双目测量系统外参标定过程。通过分析双目测量系统左右相机拍摄的棋盘格标定板图像,包括角点检测、立体标定、立体校正和畸变校正的步骤,获取左右相机的相对位置关系和姿态。检测每张图像中的棋盘格角点,并进行亚像素级精确化;根据左右相机的角点坐标、三维坐标、内参矩阵和畸变系数,计算旋转矩阵。输出为双目测量系统的标定结果,包括旋转矩阵、平移向量、投影矩阵和重投影矩阵,并通过。,利用最小二乘法最小化重投影误差;根据标定结果对图像进行畸变。展示校正后的图像和视差图,以评估标定质量。原创 2024-10-22 11:29:06 · 945 阅读 · 0 评论 -
OpenCV未定义标识符CV_XXX
如果代码是基于旧版本的OpenCV编写的,而环境中安装的是一个更新的版本,可能会导致一些标识符被重命名或移除,导致不匹配情况。报错“未定义标识符CV_XXX”,即编译器找不到常量。原创 2024-10-22 10:11:41 · 474 阅读 · 0 评论 -
双目视觉三角测量C语言代码实现&不使用OpenCV
在双目视觉系统中,三角测量是一种基于几何原理的三维重建技术,通过分析同一场景在两个不同视角下的二维图像来确定物体的三维坐标。这种方法的在于利用摄像机的内参和相对位姿(由旋转矩阵和平移向量描述),将图像中的像素坐标转换为三维空间中的射线,并通过求解这些射线的交点来确定物体的空间位置。代码方面,利用相机内参和对极几何关系,从二维像素坐标(u, v)解算出三维世界坐标(X, Y, Z)。通过相机内参矩阵,二维图像点被转换为相机坐标系下的射线。原创 2024-10-24 10:27:59 · 474 阅读 · 0 评论