Pastie now auto-senses if line-wrap is a bad or good idea. Feedback?
## mark a section (Learn more)
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init()"> <mx:Script> <![CDATA[ import mx.core.BitmapAsset; import flash.display.*; import com.suckatmath.detector.classifier.IntegralImage; /** * Run a hard coded test case of a 10x10 bitmap that is manually constructed ( see makeImage() ) * **/ public function init():void{ var bmp:BitmapData = makeImage(); var ii:IntegralImage = new IntegralImage( bmp ); ii.setTiltEnabled(true); ii.update(); /* 1 2 (3) 4 5 6 7 8 9 10 11 (12) (13) (14) 15 16 17 18 19 20 21 22 (23) (24) (25) 26 27 28 29 30 31 32 33 (34) 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 if we want a rotated sum consisting of the rotated rectangle that are in the brackets above, according to leinhart papaer, this rectangle is x = 2, y = 0, w = 1, h = 3 */ var expected:Number = (3+12+13+14+23+24+25+34)/255; var actual:Number = ii.getTiltRectSum(new Rectangle(2,0,1,3) ); trace("expected is: " + expected + " actual is: " + actual ); // on my machine, I got: expected is: 0.5803921568627451 actual is: -0.02352941176470591 // shudn't get negative value for the integral image } // initialize a bitmapdata with each pixel at a different value // image would appear as // 1 , 2, 3, 4, 5, 6, ...... 10 // 11, 12, ................. 20 // ............................ // 91, 9, 93 ................100 protected function makeImage():BitmapData{ var bmp:BitmapData = new BitmapData(10,10,true,0x00000000); var c:int = 1; var img:String ="image is: \n"; for( var i:int =0; i<10; i++ ){ for( var j:int=0; j<10; j++ ){ bmp.setPixel32(j, i, makeColor(c)); img += c + "\t"; c++; } img += "\n"; } trace(img) // make sure I'm sane.... return bmp; } // make a greyscale color with R G and B of same value, so the image appears as protected function makeColor( val:uint ):uint{ return 0xFF000000 + ( val << 16 ) + ( val << 8 ) + ( val ); } ]]> </mx:Script> </mx:Application>
This paste will be private.
From the Design Piracy series on my blog: