With the ever changing technology market, mobile devices are the latest in powerful, compact and capable line of consumer electronics. Many existing applications are finding new uses on these devices. While there are many different areas currently benefiting from the mobility and computational power offered by today’s mobile devices, the field of Computer Vision in particular, is seeing resurgence in new innovation targeted for these devices.
This paper details the process of the design, development and implementation of a QR Barcode reader. The main objective of this paper is to serve as a guide for developing or porting new and existing computer vision application to the iPhone and Windows Mobile development platforms. As part of this paper, OpenCV, a leading open source computer vision framework has been ported to work on both the iPhone and Windows Mobile powered mobile devices.
Honours Project Paper
Supporting Code
Download (December 12/2009)
You did a very and very awesome project , and you share it to public, thanks a lot for your information.
I have gone through your paper, you said you have plan to do it under camera, which is device dependent,and iPhone does not provide it now ? (you mentioned in your paper )
Actaully I think you must know two awesome apps : RedLaser and Shopsavvy, they are based on iPhone camera now, I think.
Thanks again, and hope to get connected with you by email etc, forrest.shi gmail com
Thanks for your information.
I would like to enquire on the properties configuration that I need to set when creating an unmanaged DLL for a managed application.
And also, I’m doing a C# smart device project on visual studios. I am unable to reach the project properties section (deployment, linker), because I believe the options that you have written on page 39-40 are for C/C++ projects only. Are those instructions meant for creating the unmanaged DLL if I am programming using managed C#?
Hello,
I really appreciate you actually writing how to get OpenCV to work on Windows Mobile. Your documentation is VERY HELPFUL and very useful for the development community as a whole.
I am running into one problem at step 34 (Compiling CXCore). It’s missing a lib file kernel32.dll (along w/ others). I copied most of the missing DLLS’s from the Microsoft SDK folder then ran into ARM vs X86 issues (which’s understandable). Did you run across this issue? Is it possible for you to assist with solving this issue? I am using Windows 7 64 bit architecture computer.
Thanks,
Jerrid
@Jerrid
There is no such thing as a kernel32.dll for the mobile platform. That means that you have incorrect compiler settings. Make sure you’re compiling for the right target architecture!
Did you configure your OpenCV project using CMake? If so, you want to pay extra attention to the steps I outline on page 29 and onwards. Step 15 on page 30 is particularly crutial as it sets the Linker dependencies.
If you open your project properties and have a look at the Linker dependencies, you will probably see kernel32.dll in there. It shouldn’t be in there if you follow the steps with CMake.
Also, for reference, I did all my development on a 32bit Windows XP system.
Do let me know if you run into more problems. I will send you an email so you have mine for future reference.
@Koa MD
You will not be able to compile OpenCV using the C# development platform. OpenCV has to be compiled separately (natively) and then it can be integrated into your C# smart device project. Page 47 of my paper explains how that is done.
Thanks Alex, OpenCV is working fine on my C# development platform now.
Hello, Dear Alex
First of all, thank you very much for this great project.
I’m doing now a Digital Image Processing project, which is “Touchless UI” for the mobile devices. Simply, the main part is a gesture recognition.
So, I’ve spent a lot of time to adapt OpenCV for Windows Mobile. Thanks to your project, finally, it turned easily.
On the other hand, I faced a problem with OpenCV, that it works very slow in the mobile device. That is crucial for me, as my application is real-time.
The most necessary function from OpenCV for me is cvMatchTemplate. So, I have to speed up it.
Alex, if it’s possible, send me please the project of OpenCV, where the environment is set for Windows Mobile 6.0.
Anyway, thanks for the already performed job.
@Kolya
Ya rad chto moya rabota tebe pomogla!
You’re quite right that OpenCV is very slow on Windows Mobile. Although I think it also depends a lot on your hardware.
Unfortunately I no longer have my Visual Studio solution, so I can’t help you there.
Do let me know if you have any questions though!
Dear Alex
when I try to download those files, the links above looks broken. could you please tell me where else i can get them?
thanks for your great work!
@Zhanwei
I just tested the links above and they work for me. If you can suggest a better place, I can try uploading them there so that you can view them.
Dear Alex
It looks like those sites are just blocked in my country, I’ve asked my friend to download them and send me a copy, so the problem is solved. and again, thanks for your big favor.
This agreat project,and i hope you accept me as afrind
Thanks
Спасиба чувак.
Dear Alex
I also have some trouble in downloading.According to the ID of zhanwei, maybe I am in the same country with him. It looks like those sites are just blocked in our country. Could you please tell me how can I get them??
Here is my E-mail address:76631634@qq.com
You can send them to this E-mail address so that I can get them.
This is my first time to get foreign information by English.My English is not very good.
Thanks for your great work!
@Ma Yilong
If you tell me where I can upload it I can try to make it accessible for you.
Hi it seems this is another awesome iPhone app with OpenCV. I made my own iPhone app with OpenCV, it uses automatic face detection and advanced image processing
check it out in Flags&Faces:http://itunes.apple.com/app/flags-faces/id371891114?mt=8
@Jason, awesome app!
Well alex thanks, we have to thanks all the sites about OpenCV on iPhone starting with Yoshimasa Niwa’s and so on.
The app isn’t too much intuitive sometimes but we did a great effort in the basics effects and options like rotation,zoom,blend, smooth, etc, thanks again. Hope i can contribute in help any one in the OpenCV path.. And again great work with barcodes!!!
Hi
thank you your OpenCV file
I want ask you OpenCV-2.0.0 on windows mobile 6.0 file (lib and dll)
is C++ or C# ?
is windows Transplant windows mobile 6.0 ?
Hi,
When I’m launching the compilation on Visual Studio 2005 Team Studio I’m getting the following error :
fatal error C1007: unrecognized flag ‘-omp’ in ‘c1′ c1
Do you know what it could be ? It seam to be about the precompiled header (stdafx) ?
Your’re from Ottawa, do you speak french ? I’m near Montreal.
It will be great to ear you by email
By the way, thanks for sharing your work with us !!!
@Alex
Before i try it…. Does this mean that opencv will compile on a vanilla wince installation too?
dear alex I can not reach the pdf file could you please upload it again
Alex, I want to deeply thank you for the WM port. You saved me days of work
Hi Alex. Thanks for the Wince Port.
I wanted to know how to increase the performance on Wince, as the face detection is taking around 20Sec on Images. It can not be used for live video feeds.
Awesome work. With your step by step guide, I was able to build OpenCV 2.1 with VS 2005 for WinCE 5. Thank you so much. Obviously, the patch file can’t be used as intended with OpenCV 2.1, but I was able to read through it and make the changes manually. There are a couple of additional changes that need to be made in OpenCV 2.1, but nothing that can’t be figured out from reading your patch file. One thing, there are a bunch of calls in OpenCV for Math::abs(double). My SDK has Math::abs(int) and Math::fabs(double). I was warned about a bunch of conversions from double to int, so I went through and changed the calls to fabs to fix it. Not sure what effect this has, but watch out for it.
Hi Alex,
could you please upload the pdf to http://sourceforge.net/,
or to my email : 52590565@qq.com.
thanks a lot!
is there any way to contrl vidio or camera with opencv in mindows mobile?
Dear Alex,
we reached step 32 in your pdf (opencv on mobile application) but when compiling “flann” we faced the following error :use of c runtime library internal header file.This error appears also when compiling each of :cxcore,cv,ml and probably highgui.we noticed that this error occurs in projects having files with extension cpp.please provide us with any solutions as soon as possible
best regards.
Hi,
Alex, i was able to use your library very well and am now doing other ML stuff. Thanks for your info. Thanks for making it OpenSource, your project is so good and it will help many
hey i have errors when i try todo face detection and display some info on the window
-error C3861: ‘cvNamedWindow’: identifier not found
-error C3861: ‘cvDestroyWindow’: identifier not found
-error C3861: ‘cvShowImage’: identifier not found
@Mistaguy
The OpenCV port does not support any GUI (user interface) functionality.
Hi Alex,
Do you know also a good encoder for 1D barcodes? In the documentation of OpenCV, I cannot find standard support.
Can you give me some possibilities?
By the way: very nice job this project!!!
Regards,
Stijn.
Hi Alex ,
I would like to thank you very much . OpenCV library now works on my mobile application .
My question now is :
Does OpenCV port support cvSetMouseCallback() ? and if not , is there any way alternative by it i can use the mouse event in my mobile application ?
N.B. : I am working on windows mobile 6.0 from a 64-bit PC with widows 7 as operating system
Regards ,
John
@ Alex thanks. I left the GUI and did a face recognition….the code works but it does not draw red boxes, i dont know why
hi Ben, hi Alex …
I’m implementing an application on WinCE 6.0. I think your tutorial can help me to do this. But at step “Compiling Zlib” I get 13 errors: “fatal error C1007: unrecognized flag ‘-omp’ in ‘c1′”.
What should I do?
I need your help.
hi alex libdecodeqr is not working for higher versions please tell me the solutions
thanks ,
pranesh
Hello Alex ,
I wonder if u can tell me how can i load a haarclassifier in the mobile application so the program can accept it and detects faces ? (Which libraries ? and the code of loading the haarclassifier if it’s different from the normal )
Thx a lot
Yours ,
John
Hi Alex,
This is simply amazing …. Great Job!
At the sixth step , When I type this statement: “patch –p1 < ../opencv_winmo.patch" at the command prompt, an error occurs that the system cannot find the specified file. Are there any other steps that I should make before that one ?
Thanks..
@Rana
I think that the solution of your problem is that u should write this command in the “visual studio 2008 command prompt” not any command prompt plus that u must make sure that u have installed the patch attached in the folder and also u must make sure from the path of opencv_winmo.patch .
@John
Thanks a lot
Guys, Please I have many questions & I really need some help . Would it be possible If someone from those who run this project & it worked with them give me their email ?
Thanks.
Hi Alex,
I’m trying to compile OpenCV on Windows Mobile 6.5 to use some functionalities from it in my graduation project.
I need some help in the steps. I have downloaded all the prerequisites you mentioned in the document. First, how to make that “Staging Directory”?
Second, in step 6 when I run the command in VS 2008 Command Prompt, it gives me this error “‘patch’ is not recognized as an internal or external command,
operable program or batch file.” what should I do with it?
Thanks for your help.
@Rana
I worked a little and i hope i could be useful here is my mail :
John.maher89@yahoo.com
@Eman
I think u can skip the 30 steps and take the folder of the openCv (exists in CD folder) that has inside it the folders of include and lib and dll and look at the steps that are under the 30 steps about how to include this folder to your project , I hope that this helps you
@Eman and others,
When I said ’staging directory’ I was referring to a regular folder in which you will be doing your work.
As for the error you’re getting, it sounds like you have not installed/configured the Patch GnuWin32 package, which can be found at http://gnuwin32.sourceforge.net/packages/patch.htm
hi Alex,
really a great job!!
i wonder if i can get your help.
i am now trying to load a haarclassifier in the mobile application so that the program can detect faces.
But it crashes so can you tell me how to load it ???
thanks
yours;
carol
i need driver for webcam en wince 5.0, someone have him.thanks
I have successfully used Alex’s Code and also did a project for Malaria Diagnosis
https://github.com/makerere-compute/ocula/tree/master/src/oculawince
@mistaguy – Great work! Glad that my work could be of use.
Can you fix the link to my site on your github site? It needs a space between my last name and the link to my site.
Hello Alex ,
I really want to thank you on this great job . It helped us preforming a lot of complex calculations on the mobile processor in a little time.
I wonder if u remember me or not :
I asked you about how to load the haarclassifier on the windows mobile because it crashes with me … I think I found the solution but i really need your help …
Can you upload for me those files modified to be used on mobile :
cv200d.lib “different from cv200.lib”
cxcore200d.lib
highgui200d.lib
ml200d.lib
with their dlls modified 2 like ???
Sorry for disturbing you and Thanks a lot …
Yours ,
Johh
Hi Alex,
I follow ur guide to configure OpenCV in windows mobile phone,
but when i want to build “flann” i got this error :
C:\OpenCV\OpenCV-2.0.0\3rdparty\flann\algorithms\autotuned_index.h(42) : see declaration of ‘flann::AutotunedIndex’
1>..\..\..\OpenCV-2.0.0\3rdparty\flann\flann.cpp(112) : error C3861: ‘rewind’: identifier not found
how to solve this?
thank you,
Hi Alex,
Can you please upload that pdf again?
Its reporting broken link.
Plz help us.
Thank You