- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
这是设置:一个相当大的房间,天花板上安装了 4 个鱼眼摄像头。没有盲点。每个摄像头的覆盖范围彼此都有点重叠。
我们的想法是通过这些摄像头跟踪人们。截至目前, Blob 提取算法已经到位,可以将人检测为 Blob 。这是一个相当不错的工作算法,可以很好地检测个人。我正在为所有这些使用 OpenCV API。
我所说的跟踪人物的意思是,摄像头 1 识别出两个人,比如人 A 和人 B。现在,当这两个人从摄像头 1 的覆盖范围移动到摄像头 1 和摄像头 2 的重叠覆盖区域时并进入只有 cam2 覆盖的区域,cam2 应该能够将他们识别为 A 和 B cam1 识别他们的同一个人。
这就是我想我会做的 -1) 相机以 15fps 渲染图像,我认为帧的尺寸为 1920x1920。
2) 分别识别每个相机中的 Blob ,并为每个 Blob 赋予唯一的标签。
3) 现在关于重叠 - 计算一个仿射变换矩阵,将一个摄像机帧上的像素映射到另一个摄像机帧上 - 这不需要对每一帧都完成 - 这可以在整个过程开始之前完成,作为预处理步骤。所以实时地,每当我检测到重叠区域中的 Blob 时,我所要做的就是将变换矩阵应用于 cam1 中的像素,并查看 cam2 中是否有相应的 Blob 并给它们相同的标签。
所以,问题:
1) 这个系统会不会给我一个工作不佳的系统来跟踪人们?
2) 那么,对于仿射变换,我是否必须将鱼眼图像转换为直线图像? (我的回答是肯定的,但我不太确定)请随时指出可能的错误以及为什么某些事情在我描述的过程中可能不起作用。也欢迎其他建议!时间差
最佳答案
1- blob 提取不足以跟踪特定对象,对于人的情况我建议 HoG - 或者至少在 blob 提取之前减去背景,因为所有相机都有静止场景。
2- opencv <=2.4.9 使用针孔模型进行立体视觉。因此,在使用 opencv 方法进行任何校准之前,您的鱼眼图像必须是 converted to首先是直线图像。您可以尝试使用 other approaches 校准自己也是
3.0.0 版将支持 fisheye model .它处于 alpha 阶段,您仍然可以下载并尝试一下。
关于opencv - 如何通过多个摄像头跟踪人物?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26809385/
避免必须自己创建整个相机应用程序,我调用: Intent camera = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); this.startActivit
我使用这种方法从前置摄像头录制视频: Recording video via Mediarecorder 它在我的 Nexus 4 上运行良好,但有人说有很多手机的前置摄像头无法录制视频,只能拍照。我
我正在使用 Android 手机的摄像头作为输入来测试成像算法,并且需要一种方法来始终如一地测试算法。理想情况下,我想获取预先录制的视频源并让手机“假装”视频源是来自相机的实时视频。 我理想的解决方案
我想在 android 上通过 v4l 访问外部 USB 摄像头。 我试过了 SimpleWebCam .在对原始源代码进行一些细微修改后,我实现了使其在 Root过的 android 设备上运行。然
我正在尝试连接两个连接到单个 USB 端口的 USB 网络摄像头。问题是当时只有一个摄像头工作...我在 python 中使用 OpenCV。这可能吗?我的目标是将多台相机连接到一台计算机以进行机器视
我想知道如何在 virtualbox 中使用笔记本电脑的内置网络摄像头和 android x86。 我已经尝试启动默认的“相机”应用程序,它告诉我必须配置 SDCard,我在本教程中所做的:SD ca
我在 64 位华硕的 Ubuntu 12.10 上安装了 ARToolKit。安装没有错误,所以我觉得我没问题。但是当我想尝试一个例子时,它找不到相机。如果我在 char *vconf = ""; 没
我想以编程方式移动 webvr 场景中 View 的位置。为此,我使用了position.add 方法。 以下是我如何以编程方式移动相机: 摄像机移至此处: var obj3d = docume
我正在使用 Camera 2 API 将 JPEG 图像保存在磁盘上。我的 Nexus 5X 目前有 3-4 fps,我想将其提高到 20-30。可能吗? 将图像格式更改为 YUV 我设法生成 30
Baby Monitor (http://www.babymonitor3g.com/) 等应用程序可让两台 iOS 设备相互连接。连接后,一台设备可以激活另一台设备上的摄像头、灯光和麦克风,即使该应
我有一个论坛帖子表单,允许发帖人附加录音和/或网络摄像头快照。这两个都是使用 navigator.getUserMedia() 实现的应用程序接口(interface)。对于音频,我建立了 varia
我对 Opencv 和 Python 有疑问。当我尝试从相机中查看帧时,它无法识别 USB 相机,我使用了带有两个 USB 相机的书籍中的标准代码,问题是只有一个相机工作,我不知道。我在 window
我编写了一个程序,基本上使用步进电机 + a4988 驱动程序将托盘放在连接到 Raspberry Pi 的相机下方。代码将托盘带到起始位置,迈出一步,拍照并重复 10 次。然后托盘返回到起始位置。我
我的 uEye 相机遇到了一个问题。使用我的笔记本电脑摄像头(id 0)或 usb 上的网络摄像头(id 1)这条线完美运行: TheVideoCapturer.open(1); (TheVideoC
我是 Android 版 openCV 的新手,我需要一个在后台运行的图像处理应用(检测图像的线条)。 我已经制作了一个应用程序来完成我需要的所有图像处理(使用 jni),但它不能在后台运行并且它使用
我正在尝试使用 OpenCV 从 USB 摄像头捕获视频。 #include #include using namespace std; using namespace cv; int main(
我正在寻找启用和禁用默认 iPhone 相机的方法,例如在特定时间或纬度/经度。有些地方是禁止摄像头的,所以我们可以在到达这样的地方时关闭它,这里只是举个例子。好吧,我认为在 iPhone 中禁用和启
有人有这种“东西”的工作样本吗? 在理论上,以这种方式实现它是个好主意,但我没有看到任何相关的代码 fragment 来说明如何实现它。 我不要花哨的东西,越简单越好。我只想在单独的线程上实现与相机控
我正在开发一个新网站。您可以加入房间通话并进行语音通话,因此可以使用您的网络摄像头,但您也可以共享您的屏幕。 问题是当我将轨道添加到流中时,对等点不再工作......我不知道如何解决这个问题。我还尝试
我需要在 Flutter 中创建一个考试应用程序,我们需要每隔一段时间拍摄用户的照片和视频,而在执行此操作时我们不想显示相机屏幕。 我尝试使用 Flutter 的 Camera 插件,但我无法找到任何
我是一名优秀的程序员,十分优秀!