Skip to content

Use the Vision & VisionKit framework with Appcelerator Titanium.

License

Notifications You must be signed in to change notification settings

hansemannn/titanium-vision

Repository files navigation

iOS Vision / VisionKit in Titanium

Use the native "Vision" and "VisionKit" frameworks in Titanium!

Original image Processed image
Before After

Requirements

  • Titanium SDK 10.0.0 or later

API's

Methods

detectTextRectangles(args)

  • image (String | Ti.Blob - Required)
  • callback (Function - Required)
  • reportCharacterBoxes (Boolean - Optional)
  • regionOfInterest (Object(x, y, width, height) - Optional)

detectFaceRectangles(args)

  • image (String | Ti.Blob - Required)
  • callback (Function - Required)
  • regionOfInterest (Object(x, y, width, height) - Optional)

recognizeText(args)

  • image (String | Ti.Blob - Required)
  • callback (Function - Required)
  • customWords (Array - Optional)
  • recognitionLanguages (Array - Optional)
  • usesLanguageCorrection (Boolean - Optional)

detectRectangles(args)

  • image (String | Ti.Blob - Required)
  • minimumAspectRatio (Number - default 0.5)
  • maximumAspectRatio (Number - default 1.0)
  • quadratureTolerance (Number - default 30)
  • minimumSize: (Number - default 0.2)
  • maximumObservations: (Number - default 1)
  • callback (Function - Required)

Examples

detectTextRectangles

import Vision from 'ti.vision';

const win = Ti.UI.createWindow({
    backgroundColor: '#fff'
});

const btn = Ti.UI.createButton({
    title: 'Recognize Image Rectangles'
});

btn.addEventListener('click', () => {
    if (!Vision.isSupported()) {
        Ti.API.error('Sorry dude, iOS 11+ only!');
        return;
    }
    
    Vision.detectTextRectangles({
        image: 'image_sample_tr.png',
        callback: event => {
            if (!event.success) {
                Ti.API.error(event.error);
                return;
            }
            
            Ti.API.info(event);
        }
    });
});

win.add(btn);
win.open();

detectRectangles

import Vision from 'ti.vision';

const win = Ti.UI.createWindow({
    backgroundColor: '#fff'
});

const btn = Ti.UI.createButton({
    title: 'Recognize Image Rectangles'
});

btn.addEventListener('click', () => {
    if (!Vision.isSupported()) {
        Ti.API.error('Sorry dude, iOS 11+ only!');
        return;
    }
    
    Vision.detectRectangles({
            image: 'image_sample.png',
            minimumAspectRatio: 0.5,
            maximumAspectRatio: 1.0,
            quadratureTolerance: 20,
            minimumSize: 0.2,
            maximumObservations: 1,
            callback: event => {
                if (!event.success) {
                    Ti.API.error(event.error);
                    return;
                }

                Ti.API.info(event);
            }
        });
});

win.add(btn);
win.open();

Build

ti build -p ios --build-only

Author

Hans Knöchel

License

Apache 2.0