# Algorithm to determine flat surfaces and camera orientation without specialized hardware

Modern augmented reality platforms such as Google's ARCore and Apple's ARKit seem to only operate on mobile devices, I'm guessing, because their underlying algorithms require specialized hardware that is typically available on these devices (accelerometers, gyroscopes, etc.). Since this hardware isn't available on laptops/desktops, I'm guessing these libraries would never be able to work off of mobile platforms.

Having said that I'm wondering if the following AR/image processing "capabilities" can be achieved via algorithms that do not require such specialized hardware:

• Flat surface detection inside an image or video; and
• Orientation/angle of the camera view inside an image or video

Meaning, if I am given an image or video (set of sequential images), can I detect flat surfaces in that media without specialized hardware (as in, on a Linux box running on server or PC)? Same goes for orientation/angle determination (meaning, determining the (x,y,z) coordinates of the camera within the "domain" of the image/video and determining which angles its pointed towards)?

• No phone has hardware that is not easily emulated with whatever hardware is in a regular desktop or laptop. Whatever algorithm runs on a phone will easily run on a regular computer as well. In fact, I am pretty certain that most of the software run on mobile devices is developed and tested on regular desktops. – Wolfgang Bangerth Mar 13 at 22:40