为iPhone 5创建opencv相机矩阵solvepnp

2024-01-25

我正在使用 opencv 为 iPhone 开发一个应用程序。我必须使用方法solvePnPRansac:

http://opencv.willowgarage.com/documentation/cpp/camera_calibration_and_3d_reconstruction.html http://opencv.willowgarage.com/documentation/cpp/camera_calibration_and_3d_reconstruction.html

对于这种方法,我需要提供一个相机矩阵:
__ __
| FX 0 CX |
| 0 财年 |
|_0 0 1 _|

其中 cx 和 cy 代表图像的中心像素位置,fx 和 fy 代表焦距,但这就是文档所说的全部内容。我不确定要为这些焦距提供什么。 iPhone 5的焦距为4.1毫米,但我认为这个值不能直接使用。

我查了另一个网站:

http://docs.opencv.org/modules/calib3d/doc/camera_calibration_and_3d_reconstruction.html http://docs.opencv.org/modules/calib3d/doc/camera_calibration_and_3d_reconstruction.html

它展示了 opencv 如何创建相机矩阵。这里它指出焦距以像素为单位测量。

我查了另一个网站:

http://www.velocityreviews.com/forums/t500283-focal-length-in-pixels.html http://www.velocityreviews.com/forums/t500283-focal-length-in-pixels.html

(大约下降了一半) 它表示焦距可以使用以下公式从毫米单位转换为像素单位:fx = fy = focusMM * PixelDensity / 25.4;

我发现的另一个链接指出 fx = focusMM * width / (sensorSizeMM); fy = focusMM * 长度 / (sensorSizeMM);

我不确定这些方程以及如何正确创建这个矩阵。

任何有关如何创建准确的相机矩阵(尤其是 iPhone 5)的帮助、建议或链接将不胜感激,

Isaac

附注我认为 (fx/fy) 或 (fy/fx) 可能等于相机的纵横比,但这可能是完全错误的。

UPDATE:

像素坐标到 3D 线 (opencv) https://stackoverflow.com/questions/3107771/pixel-coordinates-to-3d-line-opencv?rq=1

使用此链接,我可以弄清楚他们希望如何格式化 fx 和 fy,因为他们使用它来缩放相对于距中心距离的角度。因此,fx和fy可能以像素/(单位长度)为单位,但我仍然不确定这个单位长度需要是多少,只要x和y相互缩放,它可以是任意的吗?


您可以将焦距(以毫米为单位)除以相机传感器(CCD、CMOS 等)的像素宽度,得到焦距(以像素为单位)的初始(粗略)估计。

您可以从相机手册中获取前者,或者从以全分辨率拍摄的图像的 EXIF 标题中读取它。找出后者有点复杂:如果您知道传感器的制造商和型号,您可以在互联网上查找传感器的规格表,或者您可以将其敏感区域的总宽度除以传感器上的像素数。边。

如果没有其他信息,通常可以安全地假设像素是正方形(即 fx == fy),并且传感器与镜头的焦轴正交(即相机矩阵的第一行和第二列中的项是零)。此外,如果没有精心设计的校准装置和仔细执行的校准程序,主点(cx,cy)的像素坐标通常很难准确估计(这是因为它们本质上与平行于图像的相机平移相混淆)飞机)。因此最好将它们设置为等于图像的几何中心,除非您知道图像已被不对称裁剪。

因此,最简单的相机模型只有一个未知参数,即焦距 f = fx = fy。

忠告:在您的应用程序中,通常更方便地携带水平(或垂直)视场角,而不是以像素为单位的焦距。这是因为视场对于图像缩放是不变的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为iPhone 5创建opencv相机矩阵solvepnp 的相关文章

  • 如何将 NSDate 转换为 NSString?

    我想将 NSDate 转换为 NSString 这怎么可能 我尝试了这个 但它不起作用 它正在生成异常 NSString dateToString NSString alloc initWithFormat NSString dateObj
  • 如何检测 iOS 8 上的包含应用程序是否启用了应用程序扩展?

    我正在 iOS 8 beta 上开发一个自定义键盘 我想告诉用户如果我的自定义键盘未启用 如何在包含应用程序中启用它 有什么方法可以检测应用程序扩展是否已启用 首先让我们设置一些常量 以便于彼此理解 包含应用程序 安装扩展并保存扩展二进制文
  • 基于 JavaScript 的 iPhone UI 框架

    我们有一个基于推送的网络应用程序 最近 我们计划为其制作一个 iPhone 应用程序 就像 Facebook 拥有 iPhone 应用程序和网站一样 我们正在寻找一个可以让我们快速前进的 UI 框架 我翻阅过PhoneGap http ww
  • 调用了 numberOfRowsInSection 但未调用 cellForRowAtIndexPath

    在我的表视图中节中的行数被调用两次但是cellForRowAtIndexPath不叫 我想在 tableView 中显示 Facebook 好友列表 如果 cellForRowAtIndexPath 调用我的问题就解决了 我在这里的数组中得
  • 延迟图像下载完成后更新 UITableViewCell

    异步下载单元格图像后 我在更新 UITableViewCells 时遇到一些问题 我正在使用自定义 UITableViewCells 如下所示 UITableViewCell tableView UITableView tableView
  • 如何设置仅适用于 iPhone 或 iPad 的视口?

    我有一个网站 需要在 iphone 上使用 0 3 的视口值 但在 ipad 上使用 0 7 有没有办法只为 iPhone 或 iPad 设置视口 这是一种解决方案
  • 如何检测 UISearchBar/UITextField 输入中的暂停?

    我有以下 UISearchbar 代码 void searchBar UISearchBar searchBar textDidChange NSString searchText UIApplication sharedApplicati
  • iPhone 应用程序中的文本在 ipad 中的 2x 模式下出现别名

    我有一个适用于 iPhone 的应用程序 使用高分辨率图像使其适用于 iPhone 和 iPad 但在 iPad 中 所有文本在 2x 模式下都会出现别名 是否可以让App在2x模式下自动改变字体大小 或者我必须手动检测设备类型并处理字体大
  • 如何去除给定图像中的噪声,使 ocr 输出完美?

    我已经对这个孟加拉文本图像进行了大津阈值处理 并使用 tesseract 进行 OCR 但输出非常糟糕 我应该应用什么预处理来消除噪音 我也想校正图像 因为它有轻微的倾斜 我的代码如下 import tesserocr from PIL i
  • 如何从 iOS 应用程序检测不安全的 wifi 网络

    我想检测我的应用程序中是否存在不安全的 wifi 网络 是否有任何公共 iOS API 可以实现相同的目的 没有记录的 API 可以获取该信息 如果您的应用程序需要通过网络发送和接收敏感数据 您通常应该假设没有安全连接
  • CGContextSelectFont 等效项

    在 iOS 7 CGContext SelectFont 中已弃用 已弃用的消息说我必须使用 Core Text 但我不知道哪一个与这段代码完全相同 CGContextSelectFont context Helvetica kBarLab
  • 如何将 UIImageView 裁剪为自定义形状

    用户是否可以在该位周围画一条虚线 圆圈 UIImageView他们希望裁剪到 然后为UIImageView调整大小到这些点 这有点像 Photoshop 中的套索 选取框效果 更新 从 iOS 8 x 开始 UIImageView 提供了m
  • 如何将unix时间戳转换为iphone中的nsdate [重复]

    这个问题在这里已经有答案了 可能的重复 从 Unix 时间戳创建 NSDate https stackoverflow com questions 5827240 create nsdate from unix timestamp 我有一个
  • 将应用程序登录凭据发送给 AppStore 审核者

    我刚刚将我的应用程序上传到应用程序商店 该应用程序需要用户名 密码才能登录 但在上传过程中从未提示我输入任何凭据 有谁知道我如何向审阅者发送我的凭据 而不必等待他们审阅并请求凭据 您编辑应用程序元数据 标题 描述 关键字等 的页面最底部字段
  • 使用特定的 url 启动 UIWebview

    我目前有一个包含四个按钮的视图 并且希望能够启动 UIWebview 并为每个不同的按钮提供特定的 url 我目前可以使用 url 从外部启动 safari 我知道我可以使用代码在每个按钮中显示 UIWebview 并且可以在 UIWebv
  • 为具有多个目标和不同平台的项目编写 Podfile

    我正在准备一个支持 OS X 和 iOS 的 Pod 我的 pod 有一些自己的依赖项 这些依赖项在 podspec 文件中定义 因此我使用 Podfile 来管理我用来开发 pod 和运行测试的项目的依赖项 我正在使用 CocoaPods
  • 如何为图层阴影不透明度设置动画?

    我有一个视图 我已将 LayerOpacity 设置为 1 theView layer shadowOpacity 1 0 当视图位于屏幕下方时 这看起来很好 当我将此视图向上移动以与另一个有阴影的视图齐平时 它们看起来不太好 有没有办法让
  • 使用 OpenCV 改进特征点匹配

    我想匹配立体图像中的特征点 我已经用不同的算法找到并提取了特征点 现在我需要一个良好的匹配 在本例中 我使用 FAST 算法进行检测和提取 BruteForceMatcher用于匹配特征点 匹配代码 vector lt vector
  • 从包含带边框的表格的图像中提取表格结构

    我正在尝试提取下表中的单元格位置 应用自适应阈值处理后 我能够获得细胞位置周围的轮廓 并且 HoughLines 获得垂直和水平结构元素 这是我的代码 img cv2 imread os path join img path file im
  • iPhone SDK中的短信正文

    我需要从我的 iPhone 应用程序发送短信 SMS 的正文是以编程方式创建的 因此 当我点击按钮时 短信应用程序应该打开 并在其中预先输入我的消息 有人知道怎么做吗 需要帮忙 提前致谢 世宾 您无法设置短信正文 根据官方 SDK 您可以从

随机推荐

  • 环境/开发资产路径的副本在 gems 目录中找不到 jquery-ui-rails

    我将 config environments development rb 复制到 config environments ci rb 当我使用 RAILS ENV development 运行时 资产搜索路径包括我的 gem 供应商目录
  • 在 Vulkan 中重新绑定图形管道是否保证无操作?

    在简化的场景中 每个要渲染的对象都被转换为辅助命令缓冲区 并且每个命令缓冲区最初都绑定一个图形管道 是否可以保证无操作来绑定之前立即绑定的管道 或者辅助命令缓冲区的执行顺序根本无法保证 是否可以保证无操作来绑定之前立即绑定的管道 不 事实上
  • Null/Object 和 Null/Null 比较效率

    这个问题 https stackoverflow com questions 17143549 java null check syntactical difference 17144070 17144070引导我做一些测试 public
  • XmlDocument SelectNodes(Xpath):结果的顺序

    这是来自 MSDN 的 xml 示例
  • 使用 AddAzureKeyVault 使我的应用程序慢了 10 秒

    我有一个非常简单的 NET Core 应用程序 static void Main string args var builder new ConfigurationBuilder SetBasePath Directory GetCurre
  • 是否可以在非 Spa 应用程序中使用 Aurelia?

    最近 我一直在尝试不同的框架和库 寻找真正适合我需求的东西 你看 我的工作主要涉及创建 asp net mvc 应用程序 对于大多数应用程序来说 使用 Razor 和一点 jQuery 就足够了 但在某些情况下 并且只有几页 每个应用程序很
  • CSS 不支持从数字开始的 id 和类是否有原因?

    我注意到如果 id 或 class 从数字开始 则不应用 css 属性 例如 以下任何一个都不起作用 1ww some properties here and 1 some properties here and 1 some proper
  • Flutter:在子部件的状态上调用函数

    我创建了一个有状态小部件 其父小部件需要调用位于子状态中的函数 具体来说 我有一个 PlayerContainer 类 它创建一个 VideoPlayer 并具有 VideoPlayerController 的成员变量 当我按下播放按钮时
  • 复制 Google 电子表格 + 在脚本中与相同用户共享

    我已经在互联网上搜索了几天 但似乎找不到解决我的问题的方法 我的编程知识有限 但如果我能让它发挥作用 它将会做出奇妙的事情 说明 我需要使用电子表格 A 内的脚本制作模板电子表格的副本 并将模板的所有权限复制到副本中 特别是名称和受保护范围
  • NSParagraphStyle defaultParagraphStyle 没有效果

    尝试设置 NSTextView 的段落样式 我在这里做错了什么 或者可能把代码放在错误的地方 我的 NSTextView 的子类中有这段代码 这不会以任何方式影响我的文本视图 class EditorTextView NSTextView
  • 使用 JGit 确定前后提交的数量

    在 GitHub 项目中 当我们转到任何分支页面时 我们可以看到描述分支的提前 延迟提交编号的图表 掌握 我们如何使用 JGit 确定数字前面的数字 I used BranchTrackingStatus为此类 但我得到BranchTrac
  • 将一个符号向后排列,Haskell [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我如何将一个符号重新排列回来 我有一个给定的字符串 abcdpqrs 其中输出为 badcqpsr 我当前的代码 f s foldr a x
  • 100% 内存 HSQL 数据库

    我有一个 Java 应用程序设置为服务 每隔几个小时对大约 3GB 的数据进行数据挖掘 我希望这 100 发生在记忆中 理想情况下 我希望应用程序与所有事物隔离 我希望它构建数据库 进行我需要的挖掘 并在完成后拆除数据库 然而 对于 HSQ
  • 如何在单引号中使用 bash 变量

    我的 bash 代码如下 payload text failure with VAR failed for 但变量未解析为实际值 请不要给出否定 因为我在 Bash 方面没有太多经验 变量不会在单引号中扩展 这意味着您只需确保它们不是单引号
  • MKMapView 完全缩小时的缩放问题

    我通过单击按钮缩小地图 因此 当地图完全缩小时 如果我尝试再次缩小它 那么它在设置区域时会崩溃 不确定 但是有什么方法可以检测地图是否达到最大缩放限制吗 这是我缩小地图的代码 void setZoomLevelForNoPicksCurre
  • AJAX、PHP 会话和同时请求[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我就直接进入正题吧 当用户提交搜索时
  • 我在 env 渲染中遇到错误 - env.render()

    我试图在渲染时实现 Atari Games 但出现如下错误 line 283 in render raise error Error gym error Error render mode human is deprecated Pleas
  • 网络表单中的构造函数?

    我有一个 ASP NET Web 表单 我在其中初始化一个数组 其中包含页面上的控件列表 如下所示 FileUpload 4 new FileUpload 4 public myclass fileUpload 0 FileUpload1
  • PyCharm 中“没有名为管理的模块”

    我在使用 PyCharm 时遇到问题 当我单击 工具 中的 运行 Django 控制台 或 运行管理 py 任务 时 我得到 Traceback most recent call last File
  • 为iPhone 5创建opencv相机矩阵solvepnp

    我正在使用 opencv 为 iPhone 开发一个应用程序 我必须使用方法solvePnPRansac http opencv willowgarage com documentation cpp camera calibration a