I was curious to know if someone had an experience of porting OpenCV to Nokia C5 series cell phones. Probably via Qt, is it possible to port OpenCV to Nokia, are there any know ports for OpenCV such as we have for Android and Apple iPhones.
Thanks for the guidance.
There is opencv-symbian, but it's last update is 2010-07-12.
Nokia provides an alternative to OpenCV for the Symbian platform, it's named NCV: Nokia Computer Vision library
The Nokia Research Center has released the Nokia Computer Vision Library (NCV). NCV builds on Symbian OS on S60 to provide additional imaging related functionality to developers for use in third party applications. The library includes motion sensing from the camera (for use in games), advanced image capture functions (algorithm constructions, panorama) and image post processing functions (morphing, image compositing).
Related
I am trying to develop a basic application with Symbian Qt framework that reads my cell broadcast messages. I have had little luck in finding Qt API's for this purpose. Are there any API's I could use?
Check this link for Messaging API In Qt for Symbian http://www.developer.nokia.com/document/Mobile_Hands-on_Labs/Qt/MobilityMessaging/.
But According to me to Developing Broadcast messages application its better to follow Native code(Symbian C++).You Can find Symbian c++ Sample Examples in this link http://www.developer.nokia.com/Community/Wiki/SDK_API_Plug-in.
this is just kind of a broad question to get some starting points.
I am looking to purchase a Microsoft Kinect for the purposes of doing some programming with it.
I prefer programming in C++, and have typically made interfaces using QtCreator as opposed to VS. I see that there are a couple of Kinect's to buy - the normal gaming device, and "Kinect for Windows" which includes the SDK, it seems? Do i really need that, or can I buy the cheaper Kinect gaming device? I see that there is an openkinect project out there - I assume that is the FOSS equivalent of the "for Windows" version? I think I read somewhere the MS SDK is only going to work in Visual Studio (which I have), but if its that much better, I guess I could switch to VS for these projects.
Secondly, I am interested in doing some motion capture / 3d model projection onto the 3d objects I capture. Do I definitely need a depth camera to do this type of thing? (As in - map a "monster" to a human who's moving around in the scene). This is where I thought OpenCV might come in handy - and I am especially interested in OpenCV because of its GPU-enabled features.
Thanks for the discussion (in advance)
I am working on the kinect device for reaserch projects so I think I can anwser to some of your questions...
Some Open SDK to use with kinect :
If you like QT, you will like the : QT Kinect Widget. I never test this widget.
OpenNI : OpenNI. That is the official driver of the sensors like Kinect or Asus XTion pro (also called the RGBD sensors). This API can provide you either the raw point cloud or the skeleton if you want to make a smart HMI quickly.
The Point Cloud Library : PCL. You can use this library to acquire the point cloud, and then use all algorithm presents in this library to develop you own point cloud application !
And of course, the OpenCV Wrapper : OpenCV. This will provide you a depth map (not a point cloud).
All this SDK are usable with QtCreator both on linux and windows.
The Hardware :
If you buy a kinect in a video game store, you will not be able to plug it on your computer because the socket isn't standard. You will need to buy an adapter : KinectAdapter. This adapter is required because Kinect have a DC motors, and USB can't provide enough power for this motor.
If you buy an Asus XTION Pro live, you will not need any adapter. There is no DC motors on this device and i am quite sure that is exactly the same device than kinect. I think that Microsoft didn't "invent" the kinect, but OpenNI does ! Asus bought a licence to OpenNI for their XTION, and Microsoft bought openni for their kinect :)
Your application
I never done Motion capture and 3D model projection, but I can tell you that it will be easier to do it with a depth sensor. I think the best way to do it is to use PCL to acquire point cloud and RGB image. Thanks to the plane detectors in PCL you can compute the projection of your 3D model, and use OpenCV to display the RGB data and the projected model.
What is the difference between Qt for Symbian and Qt for MeeGo? I know Qt is a cross-compiling platform. Does this mean that if I use a library from Qt the exact same library works on all devices which support Qt (e.g. Symbian, MeeGo)?
For example:
QtDesktopServices can launch a web browser. Despite the name 'Desktop' is confusing for mobile devices can I launch a web browser on every device which supports Qt? If I look at MeeGo, MeeGo is used for different kind of devices e.g. In-Vehicle, TV, media phone
Is it guaranteed that every device has a web browser on it? I don't think so and that's why I'm asking. If a browser is guaranteed, which browser is it? Which features does it have? I know there is WRT, but a user here stated that WRT has discontinued. So what now?
Do I have to choose between Qt 4.7 and Qt Mobility 1.0?
What leinir said - Qt Mobility is a module that implements common features for mobile devices. Qt's API is the same on all platforms, though there are some platform-specific functions (mainly dealing with low-level stuff).
While the API (the interface) is the same, the implementation of course may be different. I suggest looking at the Qt online documentation - the pages linked under "Platform-specific Development"
According to "Platform notes - Symbian", the Symbian port is not complete and lacks some features (e.g. OpenGL support is "planned for a future release", while printing probably never will be supported). I'm pretty sure that the MeeGo/Maemo version supports OpenGL ES, as I've seen a Qt-based application using it (Stellarium on a Nokia N900).
QtMobility is an extra module for Qt, which provides a bunch of extra functionality which is more esoteric than the other 13 or so Qt modules, but functionality which is really useful when you are building applications the way you suggest.
So no, you don't choose between Qt 4.7 and QtMobility 1.0, because you have to use Qt to be able to use the extra module QtMobility :)
The browser will always be whatever is set up as the default browser on the system. So, no, there is no guarantees - for Windows, for example, you might have people using Firefox, Chrome, Internet Explorer 6 and many others. This is the nature of platform integration, i'm afraid :)
I have to develop an application which requires Bluetooth and profile change functionality for Symbian phones. After spending sometime I found that following options:
Java: but java does not allow to change profile
Symbian C++: I read basics for Symbian C++ and created some basic stuffs. Symbian extended APIs provide simple APIs for Profile and Bluetooth (I haven't tested yet). But its required lot of efforts to grab these. Specially certificate singing problem. I want to test my application on different devices and wish to give my friends whom having different cellphones. But couldn't due to signing problem.
QT: I am still confused on this. Whether this platform capable to fulfill my requirement or not. Secondly which phone supports QT or not...
Honestly, I am bit frustrated while writing this. I am looking someone, experience in these matter, to guide me in this situation.
You can combine native C++ with Qt. Though you'll lose some of the cross-platform nature of Qt by mixing native C++ with it.
See the XQProfile example on Forum Nokia Wiki for mixing Qt and native Symbian C++ for profile changing.
Qt can be installed to practically all devices from S60 3rd Edition FP1 (S60 3.1) onwards. Newer device models ship with Qt preinstalled. Forum Nokia has device specifications that you can filter based on Qt availability.
QT (+ QML) is the language of choice going forward. I believe it is currently on the following phones: N8,C7,C6,E7. i version 4.6.1 with version 4.7 which has the QML support due shortly.
However if you need to target current and older devices then your only choice is Symbian C++.
i have no idea about the nokia app all i know it is used the c++ and QT SDK correct me if I am wrong.
any references or book will be great.
Thanks
It depends, do you want to develop for Symbian or Maemo (more recent but available on less devices) ?
For Maemo, you could start with the SDK Virtual Image (to use in VirtualBox or VMWare):
http://maemovmware.garage.maemo.org/2nd_edition/
There is also a Virtual PC version, but I'm not sure if the image is as recent:
https://garage.maemo.org/projects/vpc-sdk
Otherwise, you could also check out the Nokia Forums, you could start here: http://www.forum.nokia.com/Library/Tools_and_downloads/Other/Maemo/
Also, you should also get the QT Tools if you're doing cross-platform: http://www.forum.nokia.com/Develop/Qt/Tools/
I think you want to google "Symbian":
http://wiki.forum.nokia.com/index.php/How_do_I_start_programming_for_Symbian_OS%3F
For Nokia phones, you have 2 types of applications:
Java application: J2ME, for feature phones (Series 40) and Symbian
QT: for Symbian and Maemo
The nokia forum is a great start for learning:
www.forum.nokia.com