Embedded computer vision platforms [closed] - iphone

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 1 year ago.
Improve this question
I am planning to start a computer vision based project on a smart phone platform.
I know iPhone and Andriod have openCV support. I am interested in knowing how was your experience with the level of integration, support and ease of building good apps on either platform.
Also I do want to consider windows phone 7 ( and Zune) as a platform, Are there any Computer Vision libraries for that platform or any good development tools( does Aforgenet work or any other good suggestion) ?
Also can you suggest some popular augmented reality apps which uses cutting edge technology (I am aware of Pranav Mistry's SixthSense)
Thnx in advance!

Unfortunately on Windows Phone 7 there is no access to the camera's data stream currently. Instead you are limited to launching the camera app, letting the user take a picture, then receiving that picture data.
This is a much requested feature so could change at any time.

Check out WordLens for cutting edge AR.

I've built AR and other computer vision apps on iOS using OpenCV and found it to be a solid platform. If nothing else, it provides you with a fast, robust set of libraries for Matrix mathematics as well as optimised versions of some of the more common vision algorithms from feature extraction to 3D reconstruction. It's pretty much a defacto standard so there's a great support community out there too and I'd definitely recommend it.
From a development point of view, I tend to write command line OpenCV apps on my Mac and then, when debugged and running, I look at moving them to iOS. This shortens the test/debug cycle (as I don't have to worry about deploying and debugging under iOS) as well as allowing me to focus on the problem at hand rather than vagaries of the mobile device.
It also makes it straightforward to move on to Android platforms though I've found the Java wrappers for OpenCV on Android to be less great. Again however, focus on getting your core algorithm and processing pipeline working on the desktop in (say) C++, then moving it to a mobile device wrapping in the necessary native code format.

Most probably you will use deep learning If yes you need to optimize everything like deep learning networks to smaller networks, mobile dl frameworks such as Tensorflow lite, etc.
You also need to consider the inference time depending on the hardware

Related

Are real time cross-platform applications between html and android possible

I'm currently investigating the scope of my project and have come across an issue with regards to the platform on which it can operate. The initial goal is to create a cross platform game across html, andriod and ios.
Is this type of application possible? It is important to note that it would require real time(low latency and consistent) interaction between the three platforms.
If so what are some tools I should take advantage of while developing.
We are doing this exact sort of thing using the 3rd party asset within the Unity UI's:
https://www.assetstore.unity3d.com/en/#/content/10872
and custom Socket.IO (http://socket.io/) server implementation. Works like a champ and is totally agnostic wether the client is Unity3D or just a browser.

iPhone vs. iPod Touch Software Development

I'll be working on a project in the near future to develop a relatively simple Bluetooth/Gyroscope application. The customer doesn't seem to know whether they want this to work on the iPhone or the iPod Touch and I have no experience working with either of the two- so it's best to assume they'll want it to work identically regardless of device.
I'm getting mixed results in my searches, some are saying that the iPod Touch does have a bluetooth chip or gyroscope and others aren't mentioning it. I assume the version of the device will matter, but I'm not sure what generation I'll be dealing with.
Are there any differences that I'll need to be aware of if I begin development with only one of the two devices? Also, what are the most widely supported development tools; my experience is obviously quite limited in this domain.
A good starting point is the iOS Technology Overview
The iPod Touch obviously lacks the phone capabilities and will more likely not have an active network connection as it only has WiFi. Bluetooth and Gyro will be there on both models (latest generation at least).

Ocropus Engine on iPhone and/or Android

What is the best way to get ocropus running on iOS and/or android?
I'm interested in using Ocropus to digitize some content on mobile devices. I'm largely interested in using a trained 'language' model to make predictions on the device. Training will occur offline and off device. I know a few people have got tesserect running on mobile devices, but I'm unable to find much information on doing the same with Ocropus. I'd greatly appreciate a slice of your collective wisdom in an effort to avoid wasting days taking the wrong path.
Would it be easier to just prototype the algorithm using the scripts, then grab the specific c++ code of interest and include it directly in my application. Or best to compile as a static/dynamic library?
It would be better setting up a simple web service that uses Ocropus or any OCR library for that matter. Then have your smartphone application make requests to the web service. OCR is a CPU intensive process, so it's appropriate to move it off of the phone.

Suggestions about multiplayer game development on iOS and Android? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
I'm working on a simple game to experience the multiplayer game development on mobile plaforms especially on Android and iOS. I'm now planning network/multiplayer side of the game and need some advice.
Firstly i think about Google App Engine as the server side of the game. But i learned that app engine cannot connect directly to clients. So updates of the users cannot be send to others directly with this method. Then i started to think about serving the game on one of the gamers of the current session. But of course some of the features will be on the server. You think it is a good idea?
Second, I'm looking for a protocol to communicate iOS and Android. YAML and JSON are the ones i looked so far.
Any other suggestions about multiplayer game development would be appreciated. Thanks...
Free solutions:
Market leader: http://openfeint.com/developers (>40,000,000 Users)
Scoreloop: http://www.scoreloop.com/
Out of the box solutions:
Photon by Exit Games: http://www.exitgames.com/
Elektrotank http://www.electrotank.com/
Smartfox: http://www.smartfoxserver.com/
It would be pretty pointless to develop a solution on your own (assuming you want to earn money).
While this thread is quite old, it seems like interest in multiplayer is growing, so I hope this answer will be relevant.
Disclosure: I work at Nextpeer. We provide hosting and client SDK aimed at casual mobile games seeking to implement a multiplayer option, so I'd like to add our solution to the mix. We take care of the server-side, of player-to-player communication, matchmaking, and the social aspect (we offer Facebook integration). And we aim for easy integration. Our SDK is available for both Android in iOS, as a native SDK and as a Unity plugin.
I too evaluated OpenFeint and Scoreloop. I'm particularly impressed with Open Feint's rich feature set. RIM acquired ScoreLoop in June so I'm not sure how long they'd support non-BlackBerry platforms. I found that both these SDKs do not provide multiplayer support. If multiplayer social game development is what you are talking about, Skiller seems to be a good option.
I have tried to develop multiplayer game and checked SmartFox, Exit Games, Skiller and AndEngine.
From my understanding AndEngine (download: http://www.andengine.org/ ) works great for close proximity multiplayer (on the same WiFi network), but i was trying to create long distance multiplayer experience.
Smartfox and Exit Games required me to get my own server and server maintenance, and unfortunately it is out of my budget.
Skiller (download: http://www.skiller-games.com/ ) host their own service, so i downloaded the SDK and checked it out.
After playing with their SDK it seems to have what i needed and i was able to create the multiplayer experience i was looking for.
So i have chosen Skiller for my project and it works great.
Hope i have helped.
I don't think developing your own game engine is a good idea. If anything, you will end up re-inventing the wheel. You might want to look at Skiler as well. It's free, provides an easy to use SDK for building single and multi-player Android games. They publish a TicTacToe multiplayer game which provides a good indication of the platform's capabilities.
As mentioned by others, SmartFox, Exit Games, Skiller and AndEngine are all good options for the networking/engine portion.
OpenFeint and Scoreloop, as well as Swarm are all good options for the user/leaderboard/achievements system.

Are either the IPad or IPhone capable of OpenCL?

With the push towards multimedia enabled mobile devices this seems like a logical way to boost performance on these platforms, while keeping general purpose software power efficient. I've been interested in the IPad hardware as a developement platform for UI and data display / entry usage. But am curious of how much processing capability the device itself is capable of. OpenCL would make it a JUICY hardware platform to develop on, even though the licensing seems like it kinda stinks.
OpenCL is not yet part of iOS.
However, the newer iPhones, iPod touches, and the iPad all have GPUs that support OpenGL ES 2.0. 2.0 lets you create your own programmable shaders to run on the GPU, which would let you do high-performance parallel calculations. While not as elegant as OpenCL, you might be able to solve many of the same problems.
Additionally, iOS 4.0 brought with it the Accelerate framework which gives you access to many common vector-based operations for high-performance computing on the CPU. See Session 202 - The Accelerate framework for iPhone OS in the WWDC 2010 videos for more on this.
Caution! This question is ranked as 2nd result by google. However most answers here (including mine) are out-of-date. People interested in OpenCL on iOS should visit more update-to-date entries like this -- https://stackoverflow.com/a/18847804/443016.
http://www.macrumors.com/2011/01/14/ios-4-3-beta-hints-at-opencl-capable-sgx543-gpu-in-future-devices/
iPad2's GPU, PowerVR SGX543 is capable of OpenCL.
Let's wait and see which iOS release will bring OpenCL APIs to us.:)
Following from nacho4d:
There is indeed an OpenCL.framework in iOS5s private frameworks directory, so I would suppose iOS6 is the one to watch for OpenCL.
Actually, I've seen it in OpenGL-related crash logs for my iPad 1, although that could just be CPU (implementing parts of the graphics stack perhaps, like on OSX).
You can compile and run OpenCL code on iOS using the private OpenCL framework, but you probably don't get a project into the App Store (Apple doesn't want you to use private frameworks).
Here is how to do it:
https://github.com/linusyang/opencl-test-ios
OpenCL ? No yet.
A good way of guessing next Public Frameworks in iOSs is by looking at Private Frameworks Directory.
If you see there what you are looking for, then there are chances.
If not, then wait for the next release and look again in the Private stuff.
I guess CoreImage is coming first because OpenCL is too low level ;)
Anyway, this is just a guess