OpenCV 确定相交/重叠区域

2023-11-27

我正在使用 OpenCV 和 python 创建一个拼接程序,目前正在很好地拼接图像,现在正在尝试将它们混合在一起。最终目标是使用图形切割来更好地缝合它们,但现在我只是根据发现的单应性重叠图像。

Here is a photo of my current result when stitching two images. enter image description here

我的目标是确定重叠区域并将其放入一个蒙版中,我可以将其应用于右上图像(即层上的图像),这样我就可以使用任何搅拌器根据距离将其混合opencv 使用或其他算法。

Here is a visual of what I am looking for. enter image description here

任何帮助表示赞赏。


创建两者的掩码/二进制图像并使用逻辑 AND 怎么样?

您还可以将每个图像的灰度值副本(图像内容全部为 1)转换为每个图像的目标的新副本(以零初始化)。

然后将所有这些目标图像添加起来。 地区有0那么就会被揭开,1覆盖和2 to n意味着覆盖2 to n images.

使用 numpy 的广播工具时,这非常简单且高效。

import cv2
import numpy as np

#our target area (the black background)
dst = np.zeros((100,100),dtype=np.int)
src1 = dst.copy() 
src2 = dst.copy()
src1[50:,50:] = 1 #fake of first translated image (row/col 50-end)
src2[:70,:70] = 1 #fake of second translated image (row/col 0-70)

overlap = src1+src2 #sum of both *element-wise*

cv2.imwrite('a.png', src1*255) #opencv likes it's grey images span from 0-255
cv2.imwrite('b.png', src2*255) #...
cv2.imwrite('c.png', overlap*127) #here vals 0-2, *127 gives (almost) 255 again

np.where(overlap==2) #gives you a mask with all pixels that have value 2

src2 (b) enter image description here + src1 (a) enter image description here = overlap (c) enter image description here

希望有帮助。

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

OpenCV 确定相交/重叠区域 的相关文章

随机推荐

  • 如何使用 Nginx 将 404 请求重定向到 Django 单页应用程序中的主页?

    我有一个 Django 单页应用程序 目前 当您访问网站上不存在的 URL 时 会显示 404 错误 但是 在这种情况下 我想重定向到该网站的主页 我不确定我是否应该如何使用 Nginx 执行此操作 或者是否有办法在 Django 中执行此
  • 在 php 中循环时显示输出

    是否可以在无限循环中在浏览器上显示字符串 这就是我想要发生的事情 while 1 echo should display these lines on browser while in infinite loop br 对的 这是可能的 你
  • CORS 的概念以及我应该强制执行 Origin 标头吗?

    据我所理解CORS 无法以让您真正确定呼叫者是谁的方式来完全保护您 因为调用者可以发送他想要的任何 ORIGIN 标头 实际上我在某处读到你无法通过 javascript 设置原始标头 因为它是一个受限制的标头 但我不太确定这一点 无论如何
  • 我的设备控制器 rspec 中的“创建后”问题

    好吧 我的第一个问题 所以要温柔一点 我正在使用 devise 进行身份验证 但我有自己的控制器来扩展创建用户时发生的情况 我在注册 注册 时创建 用户 和 机构 在路线 devise for users controllers gt re
  • Visual Studio 2008 中的 if 语句怪异

    我遇到了一个非常奇怪的问题 所以我记录了我的会话 因为我认为没有人会相信我 我遇到了一个似乎非常基本的错误 这是一个单线程应用程序 我所做的就是评估布尔值 布尔值等于 false 但是 if 语句的执行就好像它是 true 一样 有点像 你
  • Imaplib 中的 EOF 错误

    我正在编写一个 python 小程序 用于监视工作场所电子邮件箱的未读计数 当我在小程序闲置大约 10 分钟后尝试使用任何 imaplib 方法时 遇到了 EOF 错误 一切工作正常 直到小程序存活超过 10 分钟 这是imaplib对象的
  • OpenMP - 仅创建一次线程

    我尝试使用 OpenMP 编写简单的应用程序 不幸的是我在加速方面遇到问题 在此应用程序中 我有一个 while 循环 该循环体由一些应按顺序执行的指令和一个 for 循环组成 我用 pragma omp parallel for使这个 f
  • Actor设计模式和现实世界的例子

    我目前正在学习 Actor 设计模式 或者模型 它看起来很有趣 然而 我正在努力寻找任何像样的现实世界示例来说明如何或在何处应用此模型 除了带有余额的简单银行帐户或游戏的敌人坐标等的基本示例之外 作为我研究的一部分 我遇到了一个示例电子商务
  • Asp.net MVC 设置验证日期格式在 Chrome 上失败

    我在 asp net mvc 中设置验证日期格式 Chrome 时遇到问题 对于 IE Firefox 等其他浏览器可以正常工作 我在模型中定义了日期 如下代码所示 Required Display Name Data fi publica
  • 与sql server中的“top”相反,不使用order by,没有键/索引

    我想从 SQL Server 表中检索最后 10 个结果 我希望它们是最后插入的 10 条记录 我该怎么做 我想写select bottom 10 from mytable然而这并不存在 据我所知 我想要插入最后 10 行 没有时间戳 你不
  • Bootstrap 模态远程源错误处理

    我们正在使用Bootstrap Modal window显示一些通过远程源加载的 html 我们正在通过以下推荐的方式执行此操作Bootstrap文档 通过使用选项remote并传递给它一个url 正如所描述的here 例如 id moda
  • Android 在上传到服务器之前压缩视频

    如何在上传到远程服务器之前在 Android 中压缩视频文件 我不想压缩该文件 因为我认为这不会有太大帮助 我想压缩视频并以较低的比特率或分辨率重新编码 我们的想法是从每个设备获取标准的 360 480 30 FPS 视频文件 这样我就可以
  • 仅限 css 复选框(带有内容属性)

    如何仅使用 css 无 JS 无 JQ 制作自定义复选框 选中时内容为 on 未选中时内容为 off Thanks reedit 好的 经过大量复制 粘贴 删除之后 现在可以了 Thank input type checkbox posit
  • Spring @RequestBody 继承

    我读过几篇试图解释这一点的帖子 但我无法让它发挥作用 我有一个场景 输入JSON我的服务可以有几个子类型 基本上 我有一个基类UserDto进而ClientDto and OwnerDto两者都延伸自UserDto 我希望控制器能够解析具体
  • 将 ActionListener 添加到 JList

    我有一个带有字符串数组的 JList 基本上它显示餐厅菜单 在 JList 旁边 我有另一个空的 JList 每当用户双击第一个 JList 显示菜单的位置 中的字符串时 我希望它显示在紧邻的下一个 JList 上 我怎么做 你可以试试 f
  • 在 iOS 中使用多个 Storyboard

    我的目标是创建一个选项卡式应用程序 然后在单独的故事板中构建每个选项卡的视图 我的主故事板是一个选项卡视图 Then I create a secondary storyboard storyboard 2 with 2 View Cont
  • 如何在python中计算两点之间的直线的坐标?

    如何获取python中两点之间的所有坐标点 例如 我有一个点的坐标为 x1 y1 另一个点的坐标为 x10 y10 我需要它们之间的所有点 在本例中例如 x2 y2 x9 y9 非常感谢您的帮助 他们全部 有无数个 You can 计算这两
  • 无法安装 JSON gem

    我需要安装 json 因为我收到此错误 Could not find json 1 4 6 in any of the sources I ran gem install json and bundle install但我只能在需要 jso
  • 使用 ReactiveUI 中的代码隐藏在 ListBox 内绑定数据

    我有 WPF 列表框
  • OpenCV 确定相交/重叠区域

    我正在使用 OpenCV 和 python 创建一个拼接程序 目前正在很好地拼接图像 现在正在尝试将它们混合在一起 最终目标是使用图形切割来更好地缝合它们 但现在我只是根据发现的单应性重叠图像 Here is a photo of my c