我试图在ReactNative中编写一个简单的AR应用程序,它应该只是看到4个预定义的标记,并在相机的实时预览中绘制一个矩形作为边界,事情是我试图使用opencv在C ++中进行处理,以便将应用程序的逻辑放在一个可以同时访问Android和Android的地方。 IOS。 这就是我一直在想的事情
编写操作系统相关代码以打开相机并获取(java / ObjC)&amp ;; C ++部分在每个帧上进行处理。
在每个帧上调用C ++代码(来自本机代码中),并且应该返回让我们说标记的坐标。
如果在本机代码的预览中找到4个标记,则绘制rect(不知道目前为止如何实现这一点,但我认为它将是本机代码)。
将该预览(带有绘制视图的实时预览)公开给ReactNative(不确定或者如何实现) 我已经查看了本机相机组件的反应,但它并没有提供对框架的访问权限。如果可能的话,我不确定在JS& S之间的桥上发送帧是否是个好主意。的Java / ObjC。 问题是我不确定性能或者是否可能。 如果你知道任何ReactNative库会很棒。
答案 0 :(得分:2)
你的步骤似乎很合理。在C ++中处理帧后,您需要在iOS中设置应用程序属性RCTRootView.appProperties
,并在Android上使用RCTDeviceEventEmitter
发出事件。因此,您需要一个Objective-C包装器,用于iOS上的C ++代码和Android上的Java包装器。在任何一种情况下,您都应该能够使用相同的React Native代码在相机预览的顶部实际绘制矩形。你是对的,React Native相机组件没有用于从相机中获取单个帧的API,因此您需要为每个平台本地编写该代码。