问题标签 [calibration]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
opencv - 使用 cvCalibrateCamera2( ) 查找相机和失真矩阵
我试图找出相机矩阵和失真系数cvCalibrateCamera2
。没有编译错误,但是当我尝试执行它给出的程序时:
OpenCV 错误:在 cvConvertPointsHomogenous,文件 /build/buildd/opencv-2.3.1/modules/calib3d/src/fundam.cpp 中输入参数的大小不匹配(两个矩阵必须具有相同的点数)
存储对象点的矩阵大小为 4 x 3,矩阵存储图像点的大小为 4 X2,可能有什么问题?
现在我对我的代码进行了某些更改。这是我正在使用的代码:
在执行时,我收到以下错误:
OpenCV错误:cvReshape,文件/build/buildd/opencv-2.3.1/modules/core/src/array.cpp,第2755行中的错误参数(矩阵元素的总数不能被新的行数整除)终止在抛出 'cv::Exception' 的实例后调用 what(): /build/buildd/opencv-2.3.1/modules/core/src/array.cpp:2755: error: (-5) 矩阵的总数元素不能被函数 cvReshape 中的新行数整除
中止(核心转储)
kinect - 我自己写 freenect_camera_to_world,但是
我使用 opencv 和 openNi 校准 kinect 和我的高清摄像机,使用 RGBDCaptureKinect 中的方法,它使用 freenect_camera_to_world
源代码:
我自己编写了 freenect_camera_to_world 函数,但我不知道它对吗?
1、我的kienct怎么知道这两个值?ref_pix_size & ref_distance
2、“零平面像素大小是1280x1024图像”的标准吗???
c++ - 我们如何计算两个立体相机的旋转和平移以在 opencv StereoRectify(r,t argument) 中使用
我知道我可以使用一些真实的 3d 点然后在 opencv 中调用 solvepnp 函数来计算两个立体摄像机的旋转和平移,但我没有这些 3d 点。我有每个图像的内在参数和外在参数。另外,我在左图中有一些 2d 点,在右图中有它们的对应点。如果我有两个立体相机的旋转和平移,我将能够使用 stereoRectify 函数,然后可以计算图像中某些 2d 点的 3d 真实坐标。我在不同的网站上进行了很多搜索,但没有找到从两个立体相机中的 2d 点计算 3d 真实坐标(x,y,z)的常规且直接的方法。
ios6 - 如何初始化 CMCalibratedMagneticField 属性使其不返回零?
在CMCalibratedMagneticField 没有更新之前已经提出了这个问题, 但没有得到真正的回答。我对这个很迷茫。
我使用了一个简单的公式,但 field.field.x、y、z 始终为零。
样本输出为
我很确定问题不在于前面的答案所建议的电话:我正在为相当现代的 4S 编码。我有 CoreMotion、CoreLocation 和 CoreData 框架——也许有一个我不知道我需要在实现中导入的头文件?目前我似乎只需要
但那是其他东西。
任何帮助,将不胜感激!
蒂姆·雷德菲尔德
java - 传感器校准设计模式
可以说我有几个传感器。大多数传感器提供 3 个值,例如加速度计。
每个传感器都有点不同。这就是为什么有些人需要校准而其他人不需要的原因。
我找不到校准值并将原始值保留用于其他目的的好方法。
如果我以后需要它们,它应该可以轻松扩展到其他传感器类型,例如陀螺仪或磁力计。
我的第一次尝试是装饰校准。如果所有传感器都GenericSensor
像这样扩展Accelerometer
,我可以使用CalibratedGenericSensor( GenericSensor s )
. 但是,如果我只将对象提供给其他方法,则访问Acceleromter
其计算的成员值会很麻烦。CalibratedGenericSensor
这就是为什么我认为校准应该像这样更早地进行。
你对此有什么想法?或者对于我所缺少的这样的事情是否存在设计模式?
在此先感谢您的时间。
android - Android:如何处理不准确的气压计?
我一直在使用三星 Galaxy S3 开发一个使用气压计估计用户高度的应用程序。我使用 SensorManager.getAltitude(p0, p),并设置 p0 等于最近机场报告的海平面压力。我设置 p 等于气压计返回的值。
不幸的是,返回的高度系统性地比实际高度高出 20 米左右。我确定气压计返回的压力值太低,因此 SensorManager.getAltitude 正在返回更高的高度。为了证明这一点,我什至开车去了一个机场,从那里我得到了海平面压力,并将我的手机与跑道齐平。
在检查气压计的精度时(使用 SensorEvent 的精度字段),它返回值为零,表示“传感器不可信”或“需要校准”(https://developer.android.com/参考/android/hardware/SensorManager.html#SENSOR_STATUS_UNRELIABLE)。
具体来说,我的问题是:
这是正常的吗?我没有其他带气压计的设备,所以无法检查。手机如何确定其传感器“不可信”?
有什么方法可以校准传感器吗?理想情况下,我可以检查用户气压计的准确性,然后对其进行校准(假设我知道气压值偏离了多少)。
.net - 在 ETAS INCA 中,哪些类对应于每种类型的数据库项?
ETAS INCA是汽车行业中许多动力总成校准工程师的主力军——它对于校准工程师来说就像一个好的文本编辑器或版本控制系统对于通用软件开发人员一样重要。但它的 API 文档还有很多不足之处。
有没有人有说明 INCA GUI 中的数据库实体如何映射到 INCA COM/.NET API 中的类的指南?
camera - 如何从相机投影矩阵计算 ext 和 int 参数
我一直在学习相机校准,并且对如何从相机投影矩阵中恢复外在和内在相机参数感到困惑。
一般来说,我们可以通过求解从 3D 世界坐标到 2D 屏幕坐标的对应关系的方程来导出相机投影矩阵值,也就是说,我们得到一个矩阵,比如说“C”
C = [c11 c12 c13 c14; c21 c22 c23 c24; c31 c32 c33 c34]
通常,在不失一般性的情况下,我们可以指定 c34 = 1,并且我们可以通过 3D-2D 对应关系找到其余元素。
之后,我们可以将相机投影矩阵 C 与 ext 和 int 矩阵(假设 M)的结合进行比较,可以安排为
M = [fxr1+uxr3 fxtx+uxtz;fyr1+uyr3 fytx+uytz;r3 tz] 其中 r1, r2, r3 是旋转矩阵的行向量,tx,ty,tz 是平移。
我无法弄清楚的是,当我们将每个 C 元素与 M 元素进行比较以获取 ext 和 int 参数时,我们的 tz(关于 z 的翻译)将为 1,因为我们在为 1 之前分配了 c34。 tz 怎么能总是1?谁能解释一下?
java - 校准操纵杆的算法
我正在尝试编写一个应用内操纵杆轴校准工具。
摇杆轴区域应该是一个矩形,但实际上它是一个非线性闭合曲线,我想提高精度。
校准应该这样工作:我们有一个测量值,这样我们就可以得到正确的值:
其中范围是为该轴测量的最大值和最小值之间的差。但是也有一个偏移量把中心点移动到正确的位置,怎么计算呢?
编辑:我还制作了一个图像:绿色矩形是预期区域,红色形状是“真实”不准确的测量区域,最后蓝色是我转移到 (0,0) 的想要的校准区域,以便我可以使用比率将坐标转换为更大的绿色矩形。
EDIT2: 这张图片解释了校准如何更加准确,这要归功于 zapl 答案:如果我们找到蓝色矩形中心,我们可以将矩形分成 4 个矩形并计算该范围与绿色矩形范围之间的比率。代码应该是这样的:
.net - 在 ETAS INCA 中,有没有办法从 ASAP2Project 中的任意路径快速检索项目?
我正在尝试通过 .NET API 连接到 INCA,以便导航 ASAP2 项目的文件夹结构。具体来说,我想获得一个代表我在下面突出显示的“目标”文件夹的对象。
这被证明是相当棘手的——API 提供了大量的类,其中包含名称“文件夹”: Folder
、Asap2ProjectFolder
和IncaFolder
. 那么为了检索“目标”文件夹,我需要知道什么?