This job consists of two tasks.
1. Create a panoramic image of the entire view area from a moveable IP camera without knowing anything about the camera lens.
2. Based on a reference image detect if a camera have been moved; and if it has by how much.
Note that this functionality should work on real life images where the lighting will not be 100% perfect and there will be noise and other impurities in the images.
When bidding please provide a short description on how you would approach this task; perhaps what image filters you would use and what comparison algorithm you would use or similar; just to give me a feeling that you are qualified for this task.
And feel free to ask any question...
Please see the **Deliverables** section for a more indept specification.
For the first task I will provide internet access to a Pan-Tilt-Zoom camera; where you will be able to control its movement by simple HTTP commands.
The only information that will be available to you is the pan and tilt range of the camera.
You can move the camera and extract a JPEG image from any given position; then move the camera a little bit and compare the image and there by you should be able to approximate the lens size of the camera and eventually be able to move the camera to as few positions as possible to create a complete panoramic image.
Note that the lens might be a wide angle or otherwise un-linear so care should be taken when combining the images into a panoramic image to avoid overlap or holes; so a simple image concatenation without content comparison will not be acceptable.
When the panoramic image has been created enough additional data should be saved so that any position within the panoramic image can be related to a given position on the camera. So pixel x,y in the panoramic image would relate to pan/tilt position a/b on the camera.
An application should be created that will create the panoramic image automatically; and when clicking in the created image the camera should move so that it would center on the clicked position.
The second task is very similar so a lot of the code from the first task should be reusable. In this case it’s just JPEG images with no additional information; the task is to detect if a supplied JPEG show the same scenario or the camera taking the snapshot of the scenario have been moved; and if so by how many pixels.
A simple application should be created that will load the 2 images and provide the movement information if any.
Standard delivery information.
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) Deliverables must be in ready-to-run condition, as follows (depending on the nature of the deliverables):
a) For web sites or other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Seller in ready-to-run condition in the Buyer's environment.
b) For all others including desktop software or software the buyer intends to distribute: A software installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request.
3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).