|
|
Labs.byHook |
Flash Scripts, Tools & Methods Developed at Hook |
Kutout is an as3 (Actionscript 3) open-source library and sample application for image extraction and object extraction from images in Flash. The methodology behind the approach was taken from the java implementation of a pre-existing open-source solution called SIOX (Simple Interactive Object Extraction). The solution and all source-code is being released under the Apache Licence, version 2.0.
“When Thomas Edison worked late into the night on the electric light, he had to do it by gas lamp or candle. I’m sure it made the work seem that much more urgent.” George Carlin
The algorithm has four necessary steps.
Now that we’ve summarized the functionality briefly, we’ll give you some visual examples of how we approached the functionality in our sample application, Kutout.

Choose an image from the thumbnail browser, or upload one of your own by clicking the "Add an image" button.

Select an area to crop around the object you want to extract.

Roughly paint the foreground area of the object you want to extract. For best results, be conservative and try to stay in the lines. Highlighting the background as a foreground is a no-no.

Roughly paint the area that you consider the background around the object you are trying to extract. Try to stay in the lines and don't paint any of the foreground as a background!

Now you should have a Kutout image! Just use the three brushes on the left to fix up any mistakes the algorithm made.

Success! Now click Save to save your image as a png.
Kutout is a very complex app which makes use of many interface tools that help to make the algorithm work. For examples of how to implement painting tools and cropping tools, please see the application source code and documentation. For a brief overview on how the application works, below is an abstract overview of the core methods to produce the functionality. All values are arbitrary and just used for code examples purposes.
//first we create the canvas var bitmap:Bitmap; //this should already be a populated image object var canvas:Canvas = new Canvas(); canvas.initFromBitmapData(bitmap.bitmapData); addChild(canvas); //next we create the controller var segmentationController:SegmentationController = new SegmentationController(canvas); //now we can perform a crop var area:Rectangle = new Rectangle(50,50,300,300); segmentationController.applySelection(area, SegmentationConfidence.UNKNOWN_REGION_CONFIDENCE); //now we'll paint a little foreground var centerPoint:Point = new Point(150,150); var radius:Number = 100; segmentationController.setCircleConfidence(centerPoint, radius, SegmentationConfidence.FOREGROUND_CONFIDENCE); //now we'll paint a little background centerPoint = new Point(270,270); radius = 30; segmentationController.setCircleConfidence(centerPoint, radius, SegmentationConfidence.BACKGROUND_CONFIDENCE); //now we perform the segmentation segmentationController.addEventListener(SegmentationEvent.SEGMENTATION_COMPLETE, handleSegmentationComplete); segmentationController.segmentate(); function handleSegmentationComplete(e:SegmentationEvent):void { //now we can do a little refinement...whether it be addition or subtraction refinement var refinePoint:Point = new Point(20,20); var refineRadius:Number = 5; var refineSensitivity:Number = 0.3; segmentationController.supPixelRefineAddCircle(refinePoint, refineRadius, refineSensitivity); }
Try it for yourself! View our demo here!
Here is a zip that contains the documentation, all source code, and a SWC for the library.
It is a good post , I like it and please keep writing .
I am so happy to read your post , I like it and thanks for sharing it .
good post , i like it , thanks for sharing it . have a nice day .
good arctile,I am so happy to read your post , I like it and thanks for sharing it .
This is one of the ideal and good post.I like your blog foundation.This is one of the simple and attractive post.
thanks for sharing it and please keep doing this good job .
Wind, blown crystal snowflake Solitude, tods shoes uk,tods shoes uk bleak memory, because you and warm. Merry Christmas.
I really enjoy to read this awesome blog post.
Inspiring!
85-86 season, the Rockets franchise history at its peak in the ranks, though soon they fall apart on their own. Finals in 86 years up to 18 months after the suspension period, the Rockets the best three defenders Lucas, Lloyd and Wiggins were caught in a drug abuse problems, breaking again to the championship of the rocket impact of hope. 86-87 season the Rockets get 42-20, Western group ranked third, unknown into the playoffs.
weddingdresslove.co.uk specializes in designing and manufacturing various styles of high quality wedding clothing and apparel in China. All of these products are delicate, beautiful, fashionable and also of good quality. We do both wholesale and retail business, all Wedding Clothing and Apparel are made by our own professional factory…
good arctile , thanks for sharing it and please keep doing this good job .
Wow, I’m obviously not being creative enough, haha…Great work!
nike shox cheap
A more suitable for you and I make friends, ha ha
nike shox cheap
as if all the world all static, eyes only you at that moment water tender feelings, only you at that moment the picturesque face, gently break the last bit of my heart weak, let me for you out.
nike shox cheap his hand over the side of the carrying quilts, go on, wang Lin helpless, have to put together, can’t let the girl a man to it.
Cabinet Office Minister Francis Maude branded the action “indefensible and wrong”.
I am so happy to read your post , it is wonderful . I like it and thanks for sharing it .
dsfds@yahoo.com
nice post , i like it , thanks for sharing it . have a nice day.
food additives
Food thickener
Agar agar
Cassia Gum
Carboxy Methyl Cellulose
Guar Gum
Konjac glucomannan
Pectin
Sodium Alginate
Xanthan Gum
Iam interested in this article:
http://www.cocogc.net
The classic mulberry bayswater bags, in our signature natural vegetable tanned leather, is a timeless piece, which contains all the compartments a girl could need.
I love the way you wrote this article. This is wonderful. I do hope you intend to write more of these types of articles. Thank you for this interesting content!
We Sale Cheap Jerseys ,Buy Cheap NFL Jerseys, MLB Jerseys, NBA Jerseys,NHL Jerseys Wholesale From USA Authentic Quality.
OPT9JAJH983FSKVSLU
make ugg boots your company Throughout freezing climate
My friend told me to check out this post and i found it pretty impressive.
friends treating you better if you were nice to them, was a security system. In my reframing, those are all trust pressures. It’s a language that’s more intuitive.
Thank you for taking the time to publish this information very useful!
Often I just now think that people be able to write, and never obviously have significantly to talk about. There’s nothing the result. You’ll want to have anything at all to suggest, most people proclaim design and style, a individual! You definitely experience an unique option to catch the attention of many people, together with your personal video recording and then your keywords. You have got an interesting blogging site there are 12 hit!
Interesting post. Thanks for sharing.
ela ela
Great article , thanks for sharing it , i like your blog , have a nice day.
It led to Iran reducing diplomatic relations with the UK.
nike shoes outlet
, is about out, but, and the end, but not in the heart of that kind of hope.
[...] the most exciting topic out there especially compared to some of the other hotness on this site: Kutout – An application for cutting out images and Fuzzy Physics – 3.1: Rigid Body Dynamics, pt [...]