摘要:
进程和线程的区别 进程 是操作系统中资源分配的基本单位。 每个进程有独立的内存空间,相互隔离。 进程间通信(IPC)需要通过特定的机制(如管道、共享内存等)。 开销较大(包括创建、销毁、上下文切换)。 线程 是进程中的一个执行流,是 CPU 调度的基本单位。 同一进程中的线程共享内存和资源(如文件句 阅读全文
摘要:
在 OpenCV 中,您可以使用 FileStorage 类来加载和保存配置文件,包括 .yml 和 .yaml 格式的文件。以下是如何使用 FileStorage 加载 .yml 文件的示例代码。 示例代码 #include <opencv2/opencv.hpp> #include <iostr 阅读全文
摘要:
出现“无法解析的外部符号”错误通常是由于链接器找不到某个符号的定义。这种情况一般有几个可能的原因: 1. 符号未定义 您可能在代码中声明了一个静态变量,但没有提供定义。比如,如果您在类中声明了一个静态成员变量,但没有在源文件中定义它,链接器就会报错。 示例: // utilities.h names 阅读全文
摘要:
在 C++ 中,非静态变量可以被静态函数引用,但有一些限制和注意事项。 1. 非静态变量和静态函数的定义 非静态变量:属于类的实例,每个对象都有自己的副本。 静态函数:属于类本身,而不是任何特定的对象。它无法直接访问非静态成员变量或非静态成员函数,因为它没有 this 指针。 2. 如何在静态函数中 阅读全文
摘要:
https://blog.csdn.net/qq_48034474/article/details/12041170 阅读全文
摘要:
在相机标定中,镜像畸变和切向畸变是常见的畸变类型。它们通过特定的公式来描述,通常使用相机的内参和畸变系数来进行补偿。 1. 镜像畸变(径向畸变) 镜像畸变主要是由于镜头的光学特性引起的,通常用以下公式表示: [ x_{d} = x(1 + k_1 r^2 + k_2 r^4 + k_3 r^6) ] 阅读全文
摘要:
calibrateCamera: 输入:世界坐标objectPoints, 角点检测imagePoints 输出:获取相机的内参矩阵cameraMatrix1、cameraMatrix2和畸变系数distCoeffs1、distCoeffs2. stereoCalibrate 输入:世界坐标obje 阅读全文
摘要:
在 OpenCV 的 stereoCalibrate 函数中,生成的本质矩阵 ( E ) 和基础矩阵 ( F ) 是立体视觉中的重要输出,分别描述了两个相机之间的几何关系。以下是它们的物理意义和作用的详细解释: 1. 本质矩阵 ( E ) 物理意义: 本质矩阵 ( E ) 描述了两个相机之间的相对旋 阅读全文
摘要:
在 OpenCV 的 stereoRectify 函数中,输出的参数包括旋转矩阵 ( R )、平移向量 ( T )、以及旋转矩阵 ( R_1 )、( R_2 )、投影矩阵 ( P_1 )、( P_2 )、和重投影矩阵 ( Q )。以下是对这些参数的物理意义和作用的详细解释: 1. 旋转矩阵 ( R 阅读全文
摘要:
在 OpenCV 中,cornerSubPix 函数用于对角点的亚像素精确化。这个函数可以提高角点检测的精度,通常在角点检测之后使用,如在 Harris 或 Shi-Tomasi 角点检测之后。 函数原型 void cv::cornerSubPix( InputArray image, InputO 阅读全文