Hololens的图像识别

c# multithreading image-processing camera augmented-reality

593 观看

1回复

1191 作者的声誉

目标:我想开发一个使用hololens相机识别图像的应用程序。

我的问题的简单化方式是“我如何做到这一点?” (“太宽泛了吗?”,请继续阅读。


到目前为止我所做的(或所做的)

1)我设法开发了一种Hololens应用程序,该应用程序可根据命令拍照(手势-但声音也可以),并用照片举起全息图。(因此,该问题并非 “我如何使用Hololens Photocapture进行重复”)

2)我已经开发了几种有效的算法,用于处理形状和字母识别,神经网络,图像处理。它们在C#和C ++中实现(但是我可以将它们转换为C#,因为那是Hololens使用的语言)(因此,该问题与“我如何编程OCR”或“如何处理图像” 不是重复的。而不是在过于宽泛我没有指定我想要什么样的图像识别的:我不是问那个)

3)我读到,当使用PhotoCapture时,您可以将图像放入磁盘或内存中,但是当使用VideoCapture时,它仅适用于磁盘(不适用于内存)

4)我已阅读有关异步处理的内容,以了解多线程的区别


我要问的(更详细)

因此,我认为要实现这一目标,我将不得不连续拍照并进行处理。我的假设正确吗?或还有其他方法吗?

如果是这样,我是否需要将图像处理实现到单独的线程中?(我想是这样,因为可能要花一些时间)-考虑到图像捕获是异步的。

而且还与速度问题直接相关,为了提高速度,是否必须使用不安全的编程重新实现算法以直接处理指向图像的指针?


万一这个问题被标记为“一个问题太多”,让我重新表述为“我正在考虑通过用Photocapture连续拍摄来解决问题,将结果带到另一个线程来拍摄图像”由不安全的指针处理并进行处理以提高速度-这是正确的还是其他方法?)

任何建议,指针或有用的建议将不胜感激。

作者: KansaiRobot 的来源 发布者: 2017 年 9 月 15 日

回应 1


0

1299 作者的声誉

我没有所有问题的答案,但是我认为您不需要在另一个线程中进行图像处理,因为您没有在同一线程中运行其他进程,因此我建议您使整个过程由FIFO列表(请在此处检查队列类)之类的东西来保存,其中保存未处理的捕获图像,与此同时,您将继续处理队列中的第一个未处理的图像。这样,您可以处理每个图像实例的捕获任务和图像处理任务之间的速度差异,而不会浪费任何捕获的图像,并且同时,您可以使处理结果保持与捕获的照片相同的顺序。

作者: Abdullah Dibas 发布者: 2017 年 9 月 15 日
32x32