Showing posts with label Flex. Show all posts
Showing posts with label Flex. Show all posts
Friday, August 24, 2012
Face Recognition Library for ActionScript 3 - work progress update
Face Recognition Library for AS3 is currently under heavy development. Video blow shows its use for face detection and then face recognition, and finally identification of a person.
Wednesday, August 22, 2012
Synchronize video playback with GPS information
GeoVideoPlayer is an website component created in ActionScript 3 (Flash) letting you play video and at the same time show GPS info like position, speed or elevation corresponding to each video frame.
If you like it or want to use it please leave a comment.
If you like it or want to use it please leave a comment.
Sunday, May 8, 2011
ActionScript 3 and Flex 4.5 optimization
Recently I'm spending a lot of time optimizing my face recognition library in ActionScript 3.
Since I've started my adventure with AS couple of years ago FlashPlayer's performance increased a lot, but still it is not enough for calculation intensive tasks. There is also a good news. Many performance issues can by fixed with source code optimizations. Without further ado here are some of my AS3 optimization tips.
Since I've started my adventure with AS couple of years ago FlashPlayer's performance increased a lot, but still it is not enough for calculation intensive tasks. There is also a good news. Many performance issues can by fixed with source code optimizations. Without further ado here are some of my AS3 optimization tips.
-
Use Vectors instead of Arrays if possible.
-
If you know length of Vector before you create one in code pass it to Vector constructor.
-
If you know that length of Vector will be constant then pass true to Vector constructor as second argument making it fixed vector.
-
When you loop through Vector elements use variable of uint type. It is faster than int in FlashPlayer 10.2.
- When you want acces Vector element like that for example vector[i+1] change it to vector[uint(i+1)].
-
If it is possible try to do as small number of operations using 2D Vectors by which I mean Vectors accessible like that vector[i][j] they are at least 2x slower then 1D vectors. If for example you are looping through 2D vector then good practice is to assign every vector[i] to local variable and than access value for every "j". By doing that you should see at least 50% performance increase in data access from 2D Vector.
-
When incrementing value use ++i instead of i++ wherever possible.
-
Remove all nonessential code from loops.
-
When operating on uint or int variables whenever possible use bit operators for example instead i*4 use i<<2. More info about bitwise operators.
-
When you loop through vector elements don't use vector.length in loop condition instead assign this value to local uint variable and use it instead.
-
When using && or || operators don't mix types like that Number && int or uint || int. Instead if possible use that same type like that int && int or uint || uint it is up to 3,5x faster.
-
Using nested if statements is faster than using && operators in single if statement.
-
Assigning variable of type Number to variable of type int or uint is 2x slower than assignments of int to int or uint to uint or even uint to int.
-
When creating empty Array don't do this like that var arr:Array = new Array() instead do it like that var arr:Array = [] it's faster.
-
Using switch is about 15% slower on Windows XP and 10% slower on Mac OS X than if else statements. Beware of switches in performance-critical code!
I hope those tips will help you with you optimizations.
Friday, January 21, 2011
AIRTrans - friendly translator living on your desktop
If you often find yourself translating text to and from English here is an app for you.
AIRTrans:
1. Works on Windows, Mac OS X and Linux.
2. Supports over 40 languages.
3. Translates to and from any of over 40 languages.
4. Reads English text aloud.
5. Takes small space on your screen.
6. User Interface colors are customizable
7. Can remember last position on screen and app window size so you don't have to move it to that spot where you want it to be every time you start app.
8. AutoStart functionality
9. Can by resized by dragging one of bottom window corners.
You can download it from here.
Mirror 1 -Softpedia
Mirror 2 - download.cnet.com
AIRTrans:
1. Works on Windows, Mac OS X and Linux.
2. Supports over 40 languages.
3. Translates to and from any of over 40 languages.
4. Reads English text aloud.
5. Takes small space on your screen.
6. User Interface colors are customizable
7. Can remember last position on screen and app window size so you don't have to move it to that spot where you want it to be every time you start app.
8. AutoStart functionality
9. Can by resized by dragging one of bottom window corners.
You can download it from here.
Mirror 1 -Softpedia
Mirror 2 - download.cnet.com
Saturday, October 30, 2010
Flex error: Unable to transcode swf with embedded fonts
Today I wanted to create swf file in Flash CS5 with embedded fonts and then I wanted to use this file in Flex 4.
After writing the following code in Flex:
[Embed(source="./assets/fonts/fonts.swf", fontName="Minion Pro")]
private var minionProRegular:Class;
I saw this error:
Multiple markers at this line:
-Unable to transcode ./assets/fonts/fonts.swf.
-font 'Minion Pro' with normal weight and regular style not found
The reason of this error message were the text boxes contained within the swf file that contains embedded fonts.
Solution:
Remove visual objects from Flash CS5 file with embedded fonts.
UPDATE:
More information about this problem can be found here
After writing the following code in Flex:
[Embed(source="./assets/fonts/fonts.swf", fontName="Minion Pro")]
private var minionProRegular:Class;
I saw this error:
Multiple markers at this line:
-Unable to transcode ./assets/fonts/fonts.swf.
-font 'Minion Pro' with normal weight and regular style not found
The reason of this error message were the text boxes contained within the swf file that contains embedded fonts.
Solution:
Remove visual objects from Flash CS5 file with embedded fonts.
UPDATE:
More information about this problem can be found here
Saturday, August 28, 2010
Face Recognition Library in ActionScript 3 for Flex
Now there's a way to identify persone base on face image using Adobe Flex. Open source face recognition library is now available. It is itended for use in Flex applications which are using at least Adobe Flex 3.5 SDK. Library uses Eigenface method of face recognition which can get to 95% recognition rate.
Video of simple example using this library:
Live demo of simple example using this library
Library project page on google code
Video of simple example using this library:
Live demo of simple example using this library
Library project page on google code
Subscribe to:
Posts (Atom)