KoEye© - Cocoa Touch Static Library for Detecting and Tracking Moving - Version 1.1
- Creation of interactive games with the ability to "see" movements;
- Providing interaction with augmented reality to identify objects around the device;
- Interact with a 3D virtual environment as the ioKo app;
- Track the movements of the camera device or by remote cameras for security services.
- Much, much more .. depends only by the limits of your imagination ;-)
FREE 30 day Trial on Verious
In the demo app can see the correct implementation of the library, including the management of the license.
With this app you can check the return data from the library and library control data, which are:
Status: with 1 indicating whether a motion has been detected; with 0 no movement; with -1 the area identified is too small or too large.
Intensity level: represents the threshold of automatic difference in brightness under which the movement is not detected.
Average: is the average of the brightness of the image.
Changed: is the percentage of change detected in the image.
Thing: is the area affected by the movement. This is represented by the coordinates that define a rectangle (left, up, right, down)
Goal: are the coordinates of the point closest to the center of interest of the movement (which is not the center of the area that has undergone the change).
Small Object: corrects the minimum size of the area that is detectable (in percent).
Large Object: corrects the maximum size of the area that is detectable (in percent).
Insensibility: Adjusts the responsiveness of the algorithm to small and rapid changes in the image. This is an important filter when the images have fragmentation with "noise" of background (noise in the image. In background vegetation slightly moved by the wind; or rain, snow, small insects, etc..).
KoEye Class Reference
Public Member Functions
(id) - initWithColumns:Rows:Orientation: initialisation
(void) - KoEyeProcess: main function that updates the readings on the basis of the current frame
(void) - initWithLicense: validity: only used by the validation process of the license
Class for Detecting and Tracking Moving from sequential single frames in the pixel map (format BRGA)
Member Function Documentation
- (id) initWithColumns: (NSInteger) columnsFrame Rows: (NSInteger) rowsFrame Orientation: (BOOL) _orientation
(NSInteger) columnsFrame: width of the frame in the buffer (X axis) - default: 144
(NSInteger) rowsFrame: height of the frame in the buffer (Y axis) - default: 192
(BOOL) _orientation: how to interpret the image orientation (0 horizontal, 1 vertical) - default: 1
NB if you use the standard "init" method the class is initialised with default values
- (void) KoEyeProcess: (UInt8 *) pixelPointer
(UInt8 *) pixelPointer: pointer to the memory area which contains the bitmap (the frame) in the format BRGA
- (float) changed [read, assign]
(read only) return percentage of the image affected by the movement
- (CGPoint) goal [read, assign]
(read only) return point relative to the objective identified
- (NSInteger) goalX [read, assign]
(read only) return X coordinates relative to the objective identified
- (NSInteger) goalY [read, assign]
(read only) return Y coordinates relative to the objective identified
- (float) insensibility [read, write, assign]
(read and write) value that determines the reactivity in the detection of movement (between 1.0 and 100.0)
- (float) largeObject [read, write, assign]
(read and write) value that represents the object size too big (from smallObject, to 95.0, as a percentage of frame size)
- (BOOL) orientation [read, write, assign]
(read and write) value that represents as the algorithm to interpret the orientation of the frame (0 horizontal, 1 vertical)
- (NSInteger) pixelAverage [read, assign]
(read only) return average intensity of pixels in the frame (image brightness)
- (NSInteger) pixelIntensity [read, assign]
(read only) return detected brightness threshold beyond which the movement is not considered
- (float) smallObject [read, write, assign]
(read and write) value that represents the object size too small (from 2.0 to largeObject, as a percentage of frame size)
- (NSInteger) status [read, assign]
(read only) returns -1 if the movement in the minimum threshold, 0 if above threshold, 1 if ok
- (CGRect) thing [read, assign]
(read only) return rectangle area identified
- (NSInteger) xA [read, assign]
(read only) return area identified: left
- (NSInteger) xB [read, assign]
(read only) return area identified: up
- (NSInteger) yA [read, assign]
(read only) return area identified: right
- (NSInteger) yB [read, assign]
(read only) return area identified: down
Validation of the License
For more information refer to Verious documentation.
The minimum version of IOS is 5.0.
This library is not compatible with simulator!
Created by Luca Mori on 11/11/2011 - Copyright (c) 2011-2012 Kokiua Project - All rights reserved
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.