Coder Social home page Coder Social logo

vectoriser's Introduction

Vectoriser

Convert raster images to SVG, with gradient and feature recognition Final project for the Building AI course

Summary

A way to generate SVG objects from raster images.

Background

Image analysis is used for facial recognition and other object identifiaton tools. Neural networks and other methids have been extensively used for this and gnerally work on raster data. Images may also be transformed into vector data, with reduced data volume and possibly faster manipulations in slower machines and in browsers. The objective of this project is to create an easy to use library for vectorisation of images.

Vectorisation is possible in tools such as Inkscape. Inkscape generally uses thresholding to divide an image into multiple shapes with specific colors and transparencies. It works well but cannot be used for feature recognition and object extraction. This project will attempt to use understanding gained from the elements of AI course to create a tool which will: -

  • Take an input raster image
  • Use thresholding and convolutional matrices for feature recognition (e.g face, balls, etc)
  • Use an existing vector dataset of that feature class progressively transformed to match the raster image.
  • That object is then removed from the image and next object searched for
  • The final vector image generated is one where entities can be can be much more easily extracted and manipulated

How it is used

This will be a library that can be included in other programs. The initial program will be in Perl (as this is the language I am most familiar with) with later ports to C etc.

#!/usr/bin/perl

use Vectoriser

my $vec=new Vectoriser({src="imageFileName.jpg",featureSet=["faces","arms","hands"]});
$vec->save("svgImageFile.svg");
$vec->listObjects();
$vec->deleteObject();
$vec->addObject($svgObject);


Targets

The applications for this library could be many. I am interested in learning AI in greater depth. This and other things I am interested in are:-

Perl AI

Prior to this project starting, I will be creating another repository to recode the exercises done in the elementsOfAI course in Perl. Why use Perl? It is easier for me (I struggled with Python as I did the course, my code was probably rubbish) and similar tools already exist in Perl. It will teach me as I continue develping this and other tools, and hopefully be a resource for other AI coders in Perl.

Xray prostheses recognition

Recogise prosthesis, identify brand.

Avatar extraction

Generate avatars from captured images

vectoriser's People

Contributors

saiftynet avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.