diff --git a/data/lbpcascades/lbpcascade_profileface.xml b/data/lbpcascades/lbpcascade_profileface.xml
new file mode 100755
index 0000000000..a9e8437306
--- /dev/null
+++ b/data/lbpcascades/lbpcascade_profileface.xml
@@ -0,0 +1,1275 @@
+
+
+
+
+ BOOST
+ LBP
+ 34
+ 20
+
+ GAB
+ 9.9500000476837158e-001
+ 3.0000001192092896e-001
+ 9.4999999999999996e-001
+ 1
+ 100
+
+ 256
+ 1
+ 16
+
+
+ <_>
+ 4
+ -5.9480339288711548e-001
+
+ <_>
+
+ 0 -1 114 -2360321 -82228595 -771518211 -713436773
+ -1060447799 -810385271 -2004135683 -2566104
+
+ -8.0942183732986450e-001 5.9530025720596313e-001
+ <_>
+
+ 0 -1 54 -649134608 -1060077114 1375916272 -719981432
+ 1073801352 33024 281198795 -5246465
+
+ -7.7979278564453125e-001 5.4052764177322388e-001
+ <_>
+
+ 0 -1 12 -960266913 -495857599 -1068498864 -867970987
+ 457398579 -1174173695 1749041235 1849162079
+
+ -8.0028575658798218e-001 5.0435048341751099e-001
+ <_>
+
+ 0 -1 120 -1228145793 -807247727 18059735 -138644520
+ 998980043 -41250583 673112549 -1930366540
+
+ -7.7902388572692871e-001 4.9006074666976929e-001
+
+ <_>
+ 6
+ -5.4879629611968994e-001
+
+ <_>
+
+ 0 -1 6 -254346881 -746143606 -1039596583 1963430479
+ -263790449 -1073545213 698505999 -1349357
+
+ -6.6315788030624390e-001 6.0000002384185791e-001
+ <_>
+
+ 0 -1 112 -134225985 -684228389 -988213089 -684716007
+ -1966960899 -896630615 152815840 -864497420
+
+ -7.0195454359054565e-001 5.8843690156936646e-001
+ <_>
+
+ 0 -1 53 -35923461 520818827 -1862167847 856916291 68141197
+ 2072530978 304306417 526079163
+
+ -6.4593964815139771e-001 5.7274609804153442e-001
+ <_>
+
+ 0 -1 101 -2097665 -1781432163 588321018 -1677405808
+ -1968469982 -1450147831 -1467632684 -593693808
+
+ -7.2959578037261963e-001 4.9470889568328857e-001
+ <_>
+
+ 0 -1 79 -205847273 -1088716541 285266431 1393693056
+ 293931101 -1634205688 -452263692 -111136684
+
+ -7.0331865549087524e-001 5.2564400434494019e-001
+ <_>
+
+ 0 -1 126 579801457 -670613495 -1065269989 -117095565
+ -1295163359 -779534335 -1744220101 -1355860
+
+ -7.5121974945068359e-001 4.5217981934547424e-001
+
+ <_>
+ 4
+ -4.3886357545852661e-001
+
+ <_>
+
+ 0 -1 20 -346563793 1217040543 -1324639677 206303367
+ -260894653 1165249072 1359168335 1652518863
+
+ -8.3054625988006592e-001 5.5417186021804810e-001
+ <_>
+
+ 0 -1 69 -925898078 -917290147 -2147368790 -1995968378
+ 1203961890 1765910571 789128481 -4201473
+
+ -7.5220447778701782e-001 6.1290657520294189e-001
+ <_>
+
+ 0 -1 7 -425790473 -368916470 -1065172848 -1877712894
+ -1067360254 -847191997 1342400518 -680037517
+
+ -7.8469508886337280e-001 5.9731280803680420e-001
+ <_>
+
+ 0 -1 5 -260315918 -1567751150 -805289977 1721229843
+ 1644296976 1954742530 824530213 -8392601
+
+ -7.3686408996582031e-001 5.6347119808197021e-001
+
+ <_>
+ 6
+ -4.6629825234413147e-001
+
+ <_>
+
+ 0 -1 111 -67634177 -72175593 -246181185 -144772036
+ -1465917455 -1426934837 -345249307 -539041852
+
+ -7.1692305803298950e-001 5.5034482479095459e-001
+ <_>
+
+ 0 -1 47 -1048705 -96415158 -1996126927 67301684 -659873481
+ 1800863745 -402143413 1647570815
+
+ -7.6134461164474487e-001 4.7370144724845886e-001
+ <_>
+
+ 0 -1 119 1905247351 -1111526689 1426654203 -116427277
+ 1731664419 -81052249 1051905317 -1628448513
+
+ -5.9460461139678955e-001 6.1952447891235352e-001
+ <_>
+
+ 0 -1 2 578486263 -2115313530 -788268733 -1122507629
+ -343408719 2127242147 -85406399 -37295
+
+ -6.0801470279693604e-001 5.8719038963317871e-001
+ <_>
+
+ 0 -1 127 -1147176065 52139167 21156225 -540503783 -771529299
+ -33325024 -671045243 -1913073360
+
+ -7.4383884668350220e-001 5.1643568277359009e-001
+ <_>
+
+ 0 -1 93 -319091633 -58633529 1166906391 1854443149
+ 1267403009 -1198817246 1208634960 -35661669
+
+ -6.8595260381698608e-001 5.5931246280670166e-001
+
+ <_>
+ 8
+ -6.0948312282562256e-001
+
+ <_>
+
+ 0 -1 102 -747899393 -543522675 545333467 -34230241
+ -1572626245 -17790840 -1182162691 -1078427420
+
+ -6.0826772451400757e-001 4.6491229534149170e-001
+ <_>
+
+ 0 -1 38 -103812609 503024467 -2121908081 722834075
+ 1375757518 2022089353 197321677 2077719203
+
+ -6.2948691844940186e-001 4.8044654726982117e-001
+ <_>
+
+ 0 -1 19 -774429826 -607461158 1158791644 -971587409
+ -1732167611 2015560010 -1278549257 -159911361
+
+ -5.9694272279739380e-001 4.7999730706214905e-001
+ <_>
+
+ 0 -1 122 735837495 -875325281 152208339 -741020481
+ -1471817477 -1165246433 -1450830159 -1696546384
+
+ -6.4947181940078735e-001 4.2661586403846741e-001
+ <_>
+
+ 0 -1 104 -629063145 -49708711 50692231 1973945160 157637120
+ 2056259593 1771350547 -78911181
+
+ -6.2496536970138550e-001 4.4524449110031128e-001
+ <_>
+
+ 0 -1 67 -74189973 -803307502 688005268 1600057378 -131870050
+ -1600503318 571446250 -386668002
+
+ -5.5046343803405762e-001 5.6090569496154785e-001
+ <_>
+
+ 0 -1 81 586347861 -2071051852 -250078020 -1455374076
+ 546287843 1216708619 -1853707673 -35130912
+
+ -6.3877129554748535e-001 4.7911971807479858e-001
+ <_>
+
+ 0 -1 22 -1436568057 1555188001 164315 2084672259 1809869105
+ 1132626050 1223430266 -596124761
+
+ -6.4428490400314331e-001 4.7921949625015259e-001
+
+ <_>
+ 8
+ -5.4387503862380981e-001
+
+ <_>
+
+ 0 -1 44 -783680003 -771883143 -302055943 -5898247 -253370375
+ -1996628131 1625947386 -2004157446
+
+ -5.2870607376098633e-001 5.9474670886993408e-001
+ <_>
+
+ 0 -1 49 -586034977 -41205679 352424062 -163145456 151126042
+ -1171652503 1208036058 -9019322
+
+ -5.6763833761215210e-001 4.8789894580841064e-001
+ <_>
+
+ 0 -1 39 1402589836 1363509256 103583 823365787 -1861443377
+ 412131360 539718283 1002160350
+
+ -5.9899079799652100e-001 4.9562713503837585e-001
+ <_>
+
+ 0 -1 113 -783429121 -1559215981 286355953 -794820602
+ 461510679 -611662910 -2136237584 -96429424
+
+ -6.3842493295669556e-001 4.3330931663513184e-001
+ <_>
+
+ 0 -1 99 -1365839532 -1291265163 1091604493 965968977
+ 147472779 -1466925055 -2013090821 -1410703205
+
+ -5.8633142709732056e-001 5.0152444839477539e-001
+ <_>
+
+ 0 -1 26 1846469631 -788479850 268796195 -754872317
+ 1630603451 -896532480 1208092751 -72652777
+
+ -5.9243172407150269e-001 4.7917708754539490e-001
+ <_>
+
+ 0 -1 85 -715395062 -113037167 1342198133 -552594287
+ 411123713 11059209 -2012512153 -877809205
+
+ -6.9079184532165527e-001 4.2610234022140503e-001
+ <_>
+
+ 0 -1 100 -526391817 -921022135 -1593630697 671093393
+ -2004270453 -1962835840 -1870413655 -1597095644
+
+ -6.5030521154403687e-001 4.4748127460479736e-001
+
+ <_>
+ 8
+ -6.3195121288299561e-001
+
+ <_>
+
+ 0 -1 109 -674761315 -581726065 352407899 -83717423
+ -660870145 -1165915966 -326837763 -927182608
+
+ -7.3185729980468750e-001 3.3258172869682312e-001
+ <_>
+
+ 0 -1 97 860755579 -707063662 1361264863 1065505299
+ -1022866435 -1776123776 -1865661700 -1615196136
+
+ -6.1147916316986084e-001 3.7205791473388672e-001
+ <_>
+
+ 0 -1 15 -678435969 -106962866 268652561 -826396597
+ -802066313 1931092070 1208025439 1211582847
+
+ -6.8679082393646240e-001 3.6285603046417236e-001
+ <_>
+
+ 0 -1 86 -1573074550 -2080337595 299991 110482176 268552379
+ -310373944 596185787 -1428952165
+
+ -6.4654982089996338e-001 4.1456297039985657e-001
+ <_>
+
+ 0 -1 30 -72637790 -1258143612 1342937104 -544352374
+ -1046875163 -121076606 -786059128 -71702400
+
+ -5.2772462368011475e-001 4.9787566065788269e-001
+ <_>
+
+ 0 -1 89 -683288417 -218031996 33734999 -16115386 -2013259561
+ -2008907509 -1978533232 -352342880
+
+ -5.2718847990036011e-001 5.2839303016662598e-001
+ <_>
+
+ 0 -1 10 -268764033 -1078984772 -65537 -281182212 -524291 -1
+ -8489090 -4227265
+
+ -5.0513482093811035e-001 5.8522778749465942e-001
+ <_>
+
+ 0 -1 82 -570445845 784662143 -268435661 -1292701712
+ -436263043 -1367507075 -671091243 -751108132
+
+ -5.2438414096832275e-001 5.4709094762802124e-001
+
+ <_>
+ 8
+ -5.9874147176742554e-001
+
+ <_>
+
+ 0 -1 27 -721421649 -1001940437 2300046 -720004829 -792686333
+ 1908900882 -160055232 -134763633
+
+ -5.7692307233810425e-001 3.7921348214149475e-001
+ <_>
+
+ 0 -1 78 -1764279809 -1755824061 1937871313 -42069793
+ -1241158993 -1196293937 -1576828673 -70371296
+
+ -4.7039109468460083e-001 4.8607903718948364e-001
+ <_>
+
+ 0 -1 29 -795875130 432079111 285457049 -620658641 -780072971
+ 1158283432 -226254016 1839935243
+
+ -6.2938809394836426e-001 4.1353255510330200e-001
+ <_>
+
+ 0 -1 33 -37236389 1654493543 202129823 1788182787
+ -1186162321 1912913933 -122942838 1968176815
+
+ -5.9031385183334351e-001 4.1488575935363770e-001
+ <_>
+
+ 0 -1 88 1903888863 -286828472 -2125248034 -623115882
+ -268301806 -894826357 -2046633148 -696873056
+
+ -6.3875061273574829e-001 4.0209171175956726e-001
+ <_>
+
+ 0 -1 123 -87223501 -1873424249 -1878929092 -586710990
+ -643825151 -1039040192 -285122488 -264093
+
+ -5.4196298122406006e-001 4.5856228470802307e-001
+ <_>
+
+ 0 -1 52 -780030833 1363755203 -385150929 25502018 1214818435
+ -1020786271 -1870036478 1200354241
+
+ -5.2826374769210815e-001 5.3351372480392456e-001
+ <_>
+
+ 0 -1 84 -1724706499 -184429355 620844509 -179010317
+ -1610327896 -341801844 -1190328066 1755915264
+
+ -5.7672232389450073e-001 4.4138705730438232e-001
+
+ <_>
+ 9
+ -5.4533123970031738e-001
+
+ <_>
+
+ 0 -1 48 -254347649 -565919658 1079050328 1090502875
+ 1895985446 2013437961 -916419445 -53481573
+
+ -5.8105266094207764e-001 3.3599999547004700e-001
+ <_>
+
+ 0 -1 65 2030928895 1438877010 1124143121 258207763
+ 1361199276 1527410834 2072519624 1004267991
+
+ -5.9629368782043457e-001 3.6112698912620544e-001
+ <_>
+
+ 0 -1 45 -247204964 -242712316 54544644 892459288 1888023456
+ -2138044280 -802615208 13199500
+
+ -6.5467655658721924e-001 3.0486112833023071e-001
+ <_>
+
+ 0 -1 3 -430509345 -1865653973 554091143 -1069121312
+ 1091180718 50577994 -1031731181 -211321225
+
+ -5.8759629726409912e-001 3.9526104927062988e-001
+ <_>
+
+ 0 -1 106 -741412064 -255623164 1090945848 -1687760764
+ 42428760 -1064762741 -1861683196 -81029101
+
+ -6.5875691175460815e-001 3.4154877066612244e-001
+ <_>
+
+ 0 -1 128 -464010241 762112 285299147 -589082223 1373135017
+ -2138955645 1057005712 -526876236
+
+ -6.5968728065490723e-001 3.3614772558212280e-001
+ <_>
+
+ 0 -1 80 -666744719 -635780797 33637339 -887860848
+ -1073532217 -108904320 440608996 -1100753973
+
+ -5.0520354509353638e-001 4.4810971617698669e-001
+ <_>
+
+ 0 -1 28 -1580738774 -1506653838 302055688 -721223615
+ 1427604224 -1566332144 1078565791 -558431977
+
+ -5.5560898780822754e-001 4.3426483869552612e-001
+ <_>
+
+ 0 -1 103 957796629 538644536 352997725 80838797 453085387
+ -1165492198 285346042 1487077737
+
+ -5.5915868282318115e-001 4.0778505802154541e-001
+
+ <_>
+ 9
+ -6.7299038171768188e-001
+
+ <_>
+
+ 0 -1 0 -882973185 -620584737 279035921 -673986422
+ -1568464349 -2105466877 1468391879 -38825
+
+ -5.7544225454330444e-001 3.4235453605651855e-001
+ <_>
+
+ 0 -1 90 -1820101795 -1336770299 285245717 -57216724
+ -502134548 -1425341984 -1475618680 -1195896480
+
+ -6.6810834407806396e-001 2.7653357386589050e-001
+ <_>
+
+ 0 -1 9 -100197449 -457893579 200991 1964749325 -754875920
+ 1897044675 1669843618 -70792821
+
+ -4.9064287543296814e-001 4.3120625615119934e-001
+ <_>
+
+ 0 -1 117 -792114173 -544111547 537001999 2034569362
+ -1065213888 1630052634 -1450583484 -532405661
+
+ -6.4218991994857788e-001 3.6113587021827698e-001
+ <_>
+
+ 0 -1 107 -1564241697 -1429683702 -2062974587 -1900539448
+ -1040078205 -394262006 -188628336 -390485984
+
+ -5.9181970357894897e-001 3.5756480693817139e-001
+ <_>
+
+ 0 -1 4 1893434787 -1945108258 82458 -318734161 -939347837
+ 684196040 1078496869 2133023515
+
+ -6.1955446004867554e-001 3.4674292802810669e-001
+ <_>
+
+ 0 -1 31 -196247204 1964277780 -1810886012 21827851
+ -364280891 -1062338560 -536741128 -362562814
+
+ -5.2849757671356201e-001 4.1380330920219421e-001
+ <_>
+
+ 0 -1 61 -1929140897 353472529 -721412674 -1228123782
+ -392951233 -1442693096 672800826 -232914898
+
+ -5.7934975624084473e-001 3.9208874106407166e-001
+ <_>
+
+ 0 -1 72 -1004361296 -1069243858 268710018 1393598601
+ 213956864 417530145 -912735606 1327495627
+
+ -7.5585323572158813e-001 2.6728668808937073e-001
+
+ <_>
+ 9
+ -7.1303337812423706e-001
+
+ <_>
+
+ 0 -1 23 -557797393 1524138462 277074064 -737259367
+ -1878818960 -81600384 -1740109301 -59267505
+
+ -6.7397260665893555e-001 1.9793814420700073e-001
+ <_>
+
+ 0 -1 42 -1222377543 960610456 -2013138684 -989277927
+ -1010064731 -802979830 -645806439 -885143219
+
+ -4.5935314893722534e-001 4.1904711723327637e-001
+ <_>
+
+ 0 -1 124 -783292542 -728791016 1342570700 1481418249
+ 1258825942 -1580563964 -1178136688 -272306640
+
+ -6.3012123107910156e-001 2.9463621973991394e-001
+ <_>
+
+ 0 -1 46 1369396573 -188563225 22085642 -1005861886
+ 2023260232 -1123842045 -2146991925 1245170171
+
+ -5.2092707157135010e-001 3.9743596315383911e-001
+ <_>
+
+ 0 -1 64 1540188400 1976259599 -805025279 864127692 544944
+ 1484935304 -2147056504 1002584738
+
+ -6.5315401554107666e-001 3.1758561730384827e-001
+ <_>
+
+ 0 -1 77 -188606981 -1873391210 16842830 -117157654
+ -1576842600 -1454767992 -518835576 -1625272280
+
+ -5.8580338954925537e-001 3.4936144948005676e-001
+ <_>
+
+ 0 -1 18 -473497030 -477572088 16842905 -12164860 184698994
+ 1350566019 -2143169323 1405313030
+
+ -6.0962837934494019e-001 3.0044576525688171e-001
+ <_>
+
+ 0 -1 92 -528022006 -611028904 1075937757 -577660920
+ 1073809492 -1341620207 -1475846395 -162412743
+
+ -6.6547930240631104e-001 3.1993752717971802e-001
+ <_>
+
+ 0 -1 116 -2062347245 35311783 406966429 -640155632
+ -1904205761 -2012610494 399245455 -937752211
+
+ -4.8515367507934570e-001 4.3642494082450867e-001
+
+ <_>
+ 10
+ -1.1831332445144653e+000
+
+ <_>
+
+ 0 -1 115 -912525479 -2146793066 247327 -554139184 320582141
+ -1442774971 1552517769 -1464330096
+
+ -7.2892564535140991e-001 1.2876711785793304e-001
+ <_>
+
+ 0 -1 41 -182757566 -683667118 268566545 -540408959
+ 1547915506 2014497074 1817806103 -549486525
+
+ -5.6024330854415894e-001 2.8734233975410461e-001
+ <_>
+
+ 0 -1 13 -1396013057 -175218480 536903951 -35946104 -92067077
+ 956498056 -200474487 1331907188
+
+ -5.5237007141113281e-001 3.2844060659408569e-001
+ <_>
+
+ 0 -1 17 2110443855 1547702666 -1874853670 1083212172
+ -2004008413 -498614008 572624451 1179093527
+
+ -7.2481799125671387e-001 2.6627025008201599e-001
+ <_>
+
+ 0 -1 43 -1751428966 -1626324992 -1073540847 -783806124
+ -2146909454 -913440767 -2138941303 -558233160
+
+ -4.4304186105728149e-001 4.1505634784698486e-001
+ <_>
+
+ 0 -1 37 -576405461 -1625709950 1627439763 1116373274
+ 1622902452 1107834529 975868423 2074176171
+
+ -5.6509882211685181e-001 3.5433205962181091e-001
+ <_>
+
+ 0 -1 118 1171205664 1426522307 49281 563122240 -791985520
+ -930869245 -364148081 -590624140
+
+ -5.6250953674316406e-001 3.3341854810714722e-001
+ <_>
+
+ 0 -1 76 1162033968 1180991656 16859165 230787289 -2104786299
+ -1819967351 1118240928 -343561865
+
+ -4.7331553697586060e-001 4.1576251387596130e-001
+ <_>
+
+ 0 -1 110 -2147085315 -1228897088 -2146839339 -1751314339
+ -531605907 -393183232 1804153563 -1399324416
+
+ -5.8979070186614990e-001 3.7525305151939392e-001
+ <_>
+
+ 0 -1 55 1581887865 999817729 151311688 331546624 -991625824
+ -938834941 1837335184 852075394
+
+ -5.4071021080017090e-001 4.0077716112136841e-001
+
+ <_>
+ 10
+ -6.4480733871459961e-001
+
+ <_>
+
+ 0 -1 16 -510660401 -884555766 272896026 -12189566
+ -1685363509 -662568805 1073840823 -545105785
+
+ -5.3361344337463379e-001 2.7807486057281494e-001
+ <_>
+
+ 0 -1 48 -557408354 2115155922 -2130669353 1616707591
+ 693193240 -1569554175 -1743918878 1983596555
+
+ -5.3364741802215576e-001 3.1411096453666687e-001
+ <_>
+
+ 0 -1 108 -413278733 83935516 536961502 1452278484
+ -2004277212 -391683967 -1426466672 -85395040
+
+ -7.4530494213104248e-001 2.3025059700012207e-001
+ <_>
+
+ 0 -1 32 -938623022 1469386887 822151432 421593370
+ -1433793568 -1602191360 -527916919 680112651
+
+ -4.6078306436538696e-001 4.0021440386772156e-001
+ <_>
+
+ 0 -1 50 1619785226 -1004367410 1417725137 126732357
+ 148062614 -625983352 -712398335 -412918226
+
+ -4.9818846583366394e-001 3.6678382754325867e-001
+ <_>
+
+ 0 -1 24 -1064322531 1351938204 196691 -561840073 -1978859471
+ -649944954 -2003664885 -1172094197
+
+ -4.7309580445289612e-001 4.2868506908416748e-001
+ <_>
+
+ 0 -1 96 -1878961904 1360035888 -1073721317 -1051487863
+ -431841087 1628112896 -2112640640 -1829440828
+
+ -6.9250243902206421e-001 2.8783574700355530e-001
+ <_>
+
+ 0 -1 62 67496095 391741589 -2146154237 96245592 -893992548
+ 982687872 571488264 278906307
+
+ -6.4613574743270874e-001 3.0145862698554993e-001
+ <_>
+
+ 0 -1 73 -415771792 1208487966 339825796 1792117580
+ 1128517807 144965669 -536376816 732856538
+
+ -6.9449120759963989e-001 3.0338683724403381e-001
+ <_>
+
+ 0 -1 40 -1991530440 324215457 -2080275930 -1857940798
+ 1342685625 721420800 1250592988 1493903457
+
+ -7.0043331384658813e-001 2.5916099548339844e-001
+
+ <_>
+ 10
+ -6.0248321294784546e-001
+
+ <_>
+
+ 0 -1 21 -16537745 2114438797 1409323561 1691064397
+ -207434939 822260754 -384857461 2031088579
+
+ -6.1256545782089233e-001 1.7948718369007111e-001
+ <_>
+
+ 0 -1 1 -95427858 67117166 -1308426467 -1962693439 601886855
+ 924320187 1661215701 2078945158
+
+ -6.8756872415542603e-001 2.2317354381084442e-001
+ <_>
+
+ 0 -1 121 -1853361185 -619857007 16793601 -184516476
+ -1422775873 -488996831 1476610285 -926297672
+
+ -5.2260422706604004e-001 3.2479336857795715e-001
+ <_>
+
+ 0 -1 105 -267171326 1436635177 1937772829 -2092859315
+ -769638067 -2122268534 1502103583 -18894227
+
+ -5.2588832378387451e-001 3.4061828255653381e-001
+ <_>
+
+ 0 -1 83 1880187281 -1862250368 303299 960921986 -2002701917
+ -1593343958 -334888263 1058018448
+
+ -6.9037044048309326e-001 2.7262538671493530e-001
+ <_>
+
+ 0 -1 34 -2125487365 1347551377 -1861970752 1368654274
+ -1064675233 436275211 327448684 2068015115
+
+ -5.3338903188705444e-001 3.2425448298454285e-001
+ <_>
+
+ 0 -1 36 1192659162 235536712 1078002258 428089414
+ -2138651204 -1937242101 507742421 1932739127
+
+ -6.4654779434204102e-001 3.0722403526306152e-001
+ <_>
+
+ 0 -1 14 -805047416 -1962622822 -2013265442 2030239751
+ 1082134810 1744963592 -1836871485 -249326965
+
+ -5.7250964641571045e-001 3.1499111652374268e-001
+ <_>
+
+ 0 -1 75 -650653297 170234379 -2063527695 448823424
+ -2139088862 319586315 -2067685344 -1347692410
+
+ -5.4618871212005615e-001 3.8171616196632385e-001
+ <_>
+
+ 0 -1 56 -168821125 -1107300354 -536871052 -1125515426
+ -1795721360 -1672085508 1845358040 -2114327569
+
+ -4.2669427394866943e-001 5.0532561540603638e-001
+
+ <_>
+ 11
+ -1.1912760734558105e+000
+
+ <_>
+
+ 0 -1 11 -1043414305 -1735900650 268517385 -1137929054
+ -1048411462 -2011152253 -1957405841 -497557425
+
+ -5.7042253017425537e-001 2.1933962404727936e-001
+ <_>
+
+ 0 -1 71 -233469310 1360073157 376971 626087057 -1180588024
+ -1191067261 -1474310132 830601690
+
+ -5.3927713632583618e-001 2.9026004672050476e-001
+ <_>
+
+ 0 -1 35 -1599643389 42074270 -1811918838 -949960625
+ 1564707361 289538187 1204527649 -112006873
+
+ -6.0980087518692017e-001 2.8851604461669922e-001
+ <_>
+
+ 0 -1 59 585529126 -1100070936 -1342177537 833961983
+ 1306961797 1986559992 -810088568 -1082149201
+
+ -3.2345715165138245e-001 5.5635309219360352e-001
+ <_>
+
+ 0 -1 95 1107806555 2030223765 17039707 -1224163308
+ -1073053535 -1291837432 822618633 -121972608
+
+ -6.5054124593734741e-001 3.1912675499916077e-001
+ <_>
+
+ 0 -1 51 -171583461 -1660890605 268504396 453157697
+ -1065215606 -1740602879 1824636801 1940062923
+
+ -4.7275745868682861e-001 4.2362514138221741e-001
+ <_>
+
+ 0 -1 87 -799546379 -2097769968 293605405 -21571376 285294733
+ 136347650 -930405536 -69420863
+
+ -5.5549502372741699e-001 3.3842340111732483e-001
+ <_>
+
+ 0 -1 60 -594509036 -267114166 35413 -1052598126 545325639
+ -1207959408 -1073643381 682827807
+
+ -5.4805672168731689e-001 3.7224516272544861e-001
+ <_>
+
+ 0 -1 63 1513710022 194882313 1109000450 28010496 -601835264
+ -645791614 -1041880446 1561822180
+
+ -5.3384119272232056e-001 3.7635508179664612e-001
+ <_>
+
+ 0 -1 125 -754581391 -246595569 -2113336948 -1855323709
+ 1090531337 -931133310 950984 -3971805
+
+ -5.2334308624267578e-001 4.0167775750160217e-001
+ <_>
+
+ 0 -1 58 -361268680 662383988 2147483638 -209756289
+ -1375932428 -1895890954 -1744855042 -1142215109
+
+ -3.4343415498733521e-001 6.1590969562530518e-001
+
+ <_>
+ 10
+ -7.7425497770309448e-001
+
+ <_>
+
+ 0 -1 66 -716447302 -602037376 1090519043 -150261760
+ 342934202 -2034138749 1141152394 -351301493
+
+ -4.8867926001548767e-001 3.4062498807907104e-001
+ <_>
+
+ 0 -1 98 -2071985592 -700120831 1078417460 672719121
+ 1082264136 -209075063 -1438988203 -1465205245
+
+ -7.1539443731307983e-001 2.4058867990970612e-001
+ <_>
+
+ 0 -1 74 872558624 331821072 1610649929 -1181384552
+ -2130081587 -92209146 -612134248 -1199562344
+
+ -4.4142067432403564e-001 3.7935256958007813e-001
+ <_>
+
+ 0 -1 68 -791554721 -737771072 2425605 740044819 1208549387
+ 973897998 1124108962 802102203
+
+ -4.6558478474617004e-001 4.2193859815597534e-001
+ <_>
+
+ 0 -1 8 1893114270 -1013792636 360523 -586362838 -1073151001
+ -2146917824 -2104934391 -875596965
+
+ -5.0676107406616211e-001 3.5864940285682678e-001
+ <_>
+
+ 0 -1 91 574816266 -2011773950 1476495634 580227538
+ -2146781128 -2147448830 1901535891 -692616573
+
+ -6.1020326614379883e-001 3.0061775445938110e-001
+ <_>
+
+ 0 -1 70 2125429880 2080309246 -285282561 2142961407
+ -1259516274 1073741823 754945025 867497448
+
+ -4.3854746222496033e-001 4.7815895080566406e-001
+ <_>
+
+ 0 -1 94 -1727736509 -1979678624 285229334 1115689064
+ 537927788 -1207402368 1098914016 -91503488
+
+ -6.8697202205657959e-001 3.5183742642402649e-001
+ <_>
+
+ 0 -1 57 -528465144 -707035113 -1048575869 1372127361 8651416
+ -526909310 -1845360374 -1451016182
+
+ -4.5901125669479370e-001 4.5875525474548340e-001
+ <_>
+
+ 0 -1 25 -2076984798 -533130869 -1060954112 1639977472
+ 828440586 1792508680 -1693988801 -13285232
+
+ -4.8493441939353943e-001 4.3403539061546326e-001
+
+ <_>
+
+ 0 1 1 9
+ <_>
+
+ 0 1 4 7
+ <_>
+
+ 0 2 2 6
+ <_>
+
+ 0 2 2 10
+ <_>
+
+ 0 2 3 4
+ <_>
+
+ 0 3 3 8
+ <_>
+
+ 0 4 1 8
+ <_>
+
+ 0 5 2 9
+ <_>
+
+ 0 7 1 8
+ <_>
+
+ 0 7 5 7
+ <_>
+
+ 0 9 1 5
+ <_>
+
+ 0 9 2 6
+ <_>
+
+ 0 10 3 7
+ <_>
+
+ 0 11 1 3
+ <_>
+
+ 0 12 2 1
+ <_>
+
+ 0 13 3 7
+ <_>
+
+ 0 14 1 1
+ <_>
+
+ 0 14 3 4
+ <_>
+
+ 0 16 1 1
+ <_>
+
+ 0 19 3 5
+ <_>
+
+ 0 20 3 4
+ <_>
+
+ 0 21 3 4
+ <_>
+
+ 0 22 2 4
+ <_>
+
+ 0 25 3 3
+ <_>
+
+ 0 25 4 3
+ <_>
+
+ 1 0 5 10
+ <_>
+
+ 1 2 1 9
+ <_>
+
+ 1 4 4 8
+ <_>
+
+ 1 4 5 9
+ <_>
+
+ 1 6 3 5
+ <_>
+
+ 1 9 2 3
+ <_>
+
+ 1 11 2 4
+ <_>
+
+ 1 15 3 2
+ <_>
+
+ 1 20 3 3
+ <_>
+
+ 1 28 2 2
+ <_>
+
+ 2 0 2 3
+ <_>
+
+ 2 0 3 5
+ <_>
+
+ 2 0 4 8
+ <_>
+
+ 2 3 4 5
+ <_>
+
+ 2 4 5 5
+ <_>
+
+ 2 5 2 5
+ <_>
+
+ 2 7 5 9
+ <_>
+
+ 2 8 1 3
+ <_>
+
+ 2 12 1 2
+ <_>
+
+ 2 13 3 3
+ <_>
+
+ 2 14 2 2
+ <_>
+
+ 2 16 3 5
+ <_>
+
+ 2 18 3 5
+ <_>
+
+ 2 22 2 4
+ <_>
+
+ 2 31 3 1
+ <_>
+
+ 3 0 2 3
+ <_>
+
+ 3 1 3 5
+ <_>
+
+ 3 1 3 8
+ <_>
+
+ 3 2 3 6
+ <_>
+
+ 3 8 4 6
+ <_>
+
+ 3 10 2 4
+ <_>
+
+ 3 14 2 2
+ <_>
+
+ 3 16 1 1
+ <_>
+
+ 3 18 1 1
+ <_>
+
+ 3 19 1 1
+ <_>
+
+ 3 19 1 2
+ <_>
+
+ 3 31 2 1
+ <_>
+
+ 4 4 4 4
+ <_>
+
+ 4 5 2 7
+ <_>
+
+ 4 6 2 4
+ <_>
+
+ 4 6 3 4
+ <_>
+
+ 4 7 2 8
+ <_>
+
+ 4 12 3 5
+ <_>
+
+ 4 19 2 3
+ <_>
+
+ 5 0 5 7
+ <_>
+
+ 5 3 4 4
+ <_>
+
+ 5 3 5 4
+ <_>
+
+ 5 5 2 8
+ <_>
+
+ 5 12 4 4
+ <_>
+
+ 5 22 1 1
+ <_>
+
+ 6 21 3 3
+ <_>
+
+ 6 26 2 2
+ <_>
+
+ 6 30 1 1
+ <_>
+
+ 6 31 1 1
+ <_>
+
+ 6 31 2 1
+ <_>
+
+ 7 0 2 3
+ <_>
+
+ 7 9 3 7
+ <_>
+
+ 7 17 1 1
+ <_>
+
+ 7 31 1 1
+ <_>
+
+ 7 31 2 1
+ <_>
+
+ 8 0 4 1
+ <_>
+
+ 8 5 2 4
+ <_>
+
+ 8 10 3 6
+ <_>
+
+ 8 16 2 1
+ <_>
+
+ 8 25 3 2
+ <_>
+
+ 8 30 1 1
+ <_>
+
+ 9 0 1 1
+ <_>
+
+ 9 0 3 2
+ <_>
+
+ 9 0 3 4
+ <_>
+
+ 9 15 2 1
+ <_>
+
+ 9 24 3 3
+ <_>
+
+ 9 29 1 1
+ <_>
+
+ 9 31 1 1
+ <_>
+
+ 10 4 2 2
+ <_>
+
+ 10 8 1 3
+ <_>
+
+ 10 15 1 3
+ <_>
+
+ 10 26 2 1
+ <_>
+
+ 10 30 1 1
+ <_>
+
+ 10 31 3 1
+ <_>
+
+ 11 0 3 2
+ <_>
+
+ 11 1 3 4
+ <_>
+
+ 11 5 3 8
+ <_>
+
+ 11 14 1 1
+ <_>
+
+ 11 23 2 2
+ <_>
+
+ 11 27 2 2
+ <_>
+
+ 11 31 1 1
+ <_>
+
+ 12 22 2 3
+ <_>
+
+ 12 29 1 1
+ <_>
+
+ 13 23 2 1
+ <_>
+
+ 13 24 1 3
+ <_>
+
+ 13 29 1 1
+ <_>
+
+ 13 31 2 1
+ <_>
+
+ 14 1 2 2
+ <_>
+
+ 14 1 2 6
+ <_>
+
+ 14 2 2 1
+ <_>
+
+ 14 24 2 2
+ <_>
+
+ 14 26 2 2
+ <_>
+
+ 14 28 1 1
+ <_>
+
+ 15 4 1 1
+ <_>
+
+ 15 24 1 1
+ <_>
+
+ 17 0 1 3
+ <_>
+
+ 17 3 1 4
+ <_>
+
+ 17 23 1 2
+ <_>
+
+ 17 27 1 1
+
diff --git a/data/lbpcascades/lbpcascade_silverware.xml b/data/lbpcascades/lbpcascade_silverware.xml
new file mode 100755
index 0000000000..33aa443c24
--- /dev/null
+++ b/data/lbpcascades/lbpcascade_silverware.xml
@@ -0,0 +1,1279 @@
+
+
+
+
+ BOOST
+ LBP
+ 80
+ 12
+
+ GAB
+ 9.9500000476837158e-001
+ 3.0000001192092896e-001
+ 9.4999999999999996e-001
+ 1
+ 100
+
+ 256
+ 1
+ 16
+
+
+ <_>
+ 4
+ -8.2867860794067383e-002
+
+ <_>
+
+ 0 -1 99 -268435521 -486543361 -258 1659633406 -134217857
+ 1702887279 -134217929 -184549377
+
+ -7.5000000000000000e-001 8.6380833387374878e-001
+ <_>
+
+ 0 -1 39 -540541017 -1060113913 -781245688 -477121697
+ -1818664155 1105186857 -505961467 -152575569
+
+ -7.9976779222488403e-001 7.5056612491607666e-001
+ <_>
+
+ 0 -1 101 -479208497 -353380921 -855254781 -1566689761
+ -454302869 1893310787 -271591561 -134222965
+
+ -7.1062028408050537e-001 7.7380746603012085e-001
+ <_>
+
+ 0 -1 41 -338958865 -925383977 -1438297681 -981777969
+ -882901177 1913369038 -135286729 1995959223
+
+ -7.8616768121719360e-001 6.9309240579605103e-001
+
+ <_>
+ 5
+ -7.7058833837509155e-001
+
+ <_>
+
+ 0 -1 14 -34089161 -2245 1878980471 -8687769 -134316045
+ 1744797563 -8388737 1795146607
+
+ -6.1089491844177246e-001 7.3594772815704346e-001
+ <_>
+
+ 0 -1 32 -707274321 1896302609 1132560802 -183140351 17019099
+ 830472347 -1993621429 1440074510
+
+ -6.4869755506515503e-001 5.6941097974777222e-001
+ <_>
+
+ 0 -1 4 -1055898237 -104492975 -1795141251 1464975384
+ -1602043461 -914358144 1111543953 -2067496448
+
+ -6.0432785749435425e-001 5.5685383081436157e-001
+ <_>
+
+ 0 -1 96 -520160401 2063466495 -65665 -134217729 -50462805
+ 1761476478 1693969709 1910503031
+
+ -5.6237226724624634e-001 6.2263637781143188e-001
+ <_>
+
+ 0 -1 6 -1479564374 -954482597 16859161 -799804534 268468874
+ 713187329 1108033665 -714619755
+
+ -6.9048601388931274e-001 5.3264212608337402e-001
+
+ <_>
+ 5
+ -7.1249550580978394e-001
+
+ <_>
+
+ 0 -1 21 -34638473 -553976197 -134217865 -159715533
+ -142901385 -272629761 -8421377 -956303361
+
+ -6.4170038700103760e-001 7.0683228969573975e-001
+ <_>
+
+ 0 -1 100 -8389777 -185860353 -277 -2097152001 -161
+ -209780865 -1 -529006609
+
+ -5.5270516872406006e-001 6.9983023405075073e-001
+ <_>
+
+ 0 -1 118 -545259537 -276857217 -1258291302 1652358910
+ -134236308 1735819126 -16812809 -221249673
+
+ -5.6243920326232910e-001 6.2150186300277710e-001
+ <_>
+
+ 0 -1 19 -342885713 -1369882213 -2079215310 -765214587
+ -2113207945 1074365452 1393631959 1409022707
+
+ -6.8943935632705688e-001 5.3469669818878174e-001
+ <_>
+
+ 0 -1 23 -506991005 1360417115 -1844809365 -821575604
+ 21178499 986120459 1347943419 -969541850
+
+ -6.7428857088088989e-001 5.5008578300476074e-001
+
+ <_>
+ 6
+ -3.0183684825897217e-001
+
+ <_>
+
+ 0 -1 31 -144703505 -143130625 -17 -134381841 -143130625
+ 2012741567 -134218802 -134217841
+
+ -5.3079712390899658e-001 7.5616836547851563e-001
+ <_>
+
+ 0 -1 35 -137887809 -1924805943 1363218446 -817782134
+ 1099022547 1082327168 -1279204784 1128784467
+
+ -6.4090979099273682e-001 5.3444361686706543e-001
+ <_>
+
+ 0 -1 15 -786433589 -515129128 277173650 -132673121
+ -884037451 1137229866 1938662135 -676336865
+
+ -5.2920126914978027e-001 5.9623366594314575e-001
+ <_>
+
+ 0 -1 92 -1897400451 -1627924747 -335548553 -1 1257762559
+ -2113929417 -419433067 -235309193
+
+ -5.5294114351272583e-001 5.8814722299575806e-001
+ <_>
+
+ 0 -1 112 -187176146 1743897116 -1878957040 542033563
+ 1372582934 823282242 -158609727 -779295046
+
+ -6.8665105104446411e-001 4.4378995895385742e-001
+ <_>
+
+ 0 -1 9 1676637640 1887961346 16875658 1977614736 1682145753
+ 813744265 -842338550 1930548135
+
+ -7.5830078125000000e-001 3.9562159776687622e-001
+
+ <_>
+ 8
+ -3.9228534698486328e-001
+
+ <_>
+
+ 0 -1 25 -167774345 -6689161 -2097153 -4194541 -282329093 -1
+ -1 -352323601
+
+ -4.7727271914482117e-001 7.4114018678665161e-001
+ <_>
+
+ 0 -1 2 -1051598753 -1005571964 1900827102 2065404120
+ -1207262247 -120553331 -1725955392 -494812414
+
+ -5.2365595102310181e-001 5.3981113433837891e-001
+ <_>
+
+ 0 -1 116 -2142770433 -1601462143 16842760 -804892128 1032369
+ 268763273 1091011104 -1142957585
+
+ -4.7790464758872986e-001 5.4881525039672852e-001
+ <_>
+
+ 0 -1 87 -532155537 1351188929 1073823759 -1253637875
+ -721321497 -662691837 -955278809 1623500836
+
+ -6.8072116374969482e-001 3.7135115265846252e-001
+ <_>
+
+ 0 -1 113 -1996457508 -2146282492 -1728016135 -578347007
+ -1609004859 193626505 1153570968 -1920333632
+
+ -5.7289212942123413e-001 4.6210876107215881e-001
+ <_>
+
+ 0 -1 56 -972008109 -691003372 -2147413749 2098355010
+ 143009971 -1744174583 -1073051430 617488921
+
+ -5.9549087285995483e-001 4.8842963576316833e-001
+ <_>
+
+ 0 -1 48 26 1971388449 419479901 2080931848 -1140292918
+ -1719074813 -2130476842 -268398592
+
+ -5.8355164527893066e-001 4.7890499234199524e-001
+ <_>
+
+ 0 -1 57 -1052266874 167813132 -2130690045 -703061621
+ -131874777 -662142838 -1064730555 1119947703
+
+ -6.9379311800003052e-001 3.9936643838882446e-001
+
+ <_>
+ 9
+ -6.6581231355667114e-001
+
+ <_>
+
+ 0 -1 29 2080314175 -112910205 805323551 1024016674
+ 1073891387 -2137847805 1653140111 -7676933
+
+ -5.5957448482513428e-001 5.4044550657272339e-001
+ <_>
+
+ 0 -1 94 -1358956801 -100880986 -1887436809 1073741823
+ -1896350220 -838860811 268434686 -1912602633
+
+ -4.3124794960021973e-001 5.6135851144790649e-001
+ <_>
+
+ 0 -1 76 -26230993 1357905647 -1358958674 -135266305 -524434
+ -176291841 -142622837 -1005125829
+
+ -4.6799373626708984e-001 5.1660954952239990e-001
+ <_>
+
+ 0 -1 30 -313836176 -742240245 16818511 -1391787262
+ 1632363443 -156630911 -83631445 248984215
+
+ -6.2023061513900757e-001 3.9792594313621521e-001
+ <_>
+
+ 0 -1 91 -612895966 591778561 1073812490 369347088
+ -1870223303 556335107 553910792 1907094058
+
+ -6.2148678302764893e-001 4.1758581995964050e-001
+ <_>
+
+ 0 -1 46 -1430257749 -672663689 -218104082 -135266322
+ -1493174275 -873463809 -276826113 -690006715
+
+ -5.1617449522018433e-001 5.2012032270431519e-001
+ <_>
+
+ 0 -1 123 1088746207 1489289603 16781456 -443461355
+ -762795606 -670564192 -1465814774 -101527550
+
+ -5.0202989578247070e-001 5.0987190008163452e-001
+ <_>
+
+ 0 -1 53 -1001679641 -955695103 25248080 -738078457 671123502
+ 193003713 -1836523327 -216026117
+
+ -5.2692401409149170e-001 5.3243070840835571e-001
+ <_>
+
+ 0 -1 89 2147417937 -1048642 -1039 -1766457361 -134236382
+ -1922646177 -16777473 -1534591162
+
+ -4.6150138974189758e-001 5.6634509563446045e-001
+
+ <_>
+ 8
+ -1.2349532842636108e+000
+
+ <_>
+
+ 0 -1 67 -142902409 -67142273 1878982639 -1182802113 -75841
+ -274219146 -88604929 -31817921
+
+ -4.5625588297843933e-001 5.7534247636795044e-001
+ <_>
+
+ 0 -1 128 -808330661 1390004234 1107406871 -2098932967
+ -767440829 1208655939 -1971196977 1351600587
+
+ -5.7236993312835693e-001 4.1942635178565979e-001
+ <_>
+
+ 0 -1 0 -805307409 -1052697 -65684 -4233 -134217745 -4194453
+ -696778831 -708062879
+
+ -4.5485407114028931e-001 5.5909335613250732e-001
+ <_>
+
+ 0 -1 119 -169888509 1150652435 1074791064 541757442
+ -645182635 989929472 1262741126 1963976639
+
+ -6.4869618415832520e-001 3.9796143770217896e-001
+ <_>
+
+ 0 -1 38 -912524801 811171970 33644801 -717151469 -2108956437
+ 294158344 1109713681 1900266000
+
+ -5.0387507677078247e-001 5.1329559087753296e-001
+ <_>
+
+ 0 -1 20 -746687625 -200802301 1073872962 285491202
+ 1208512717 -2138664446 -1837102693 1174835902
+
+ -5.9465301036834717e-001 4.4057011604309082e-001
+ <_>
+
+ 0 -1 16 -442903927 -988184502 -717209211 1443168395
+ -1465793521 1252524168 1107337938 -1050414557
+
+ -5.9043467044830322e-001 4.3687704205513000e-001
+ <_>
+
+ 0 -1 104 -1692667790 -612286452 -1056931520 437452806
+ -2136309078 -401536992 -1987928929 -1033981310
+
+ -5.0495445728302002e-001 4.9910807609558105e-001
+
+ <_>
+ 9
+ -5.4583048820495605e-001
+
+ <_>
+
+ 0 -1 97 -419954689 -570949699 2147417599 -1 -872415749
+ -301989897 -872433670 -268443689
+
+ -4.0734556317329407e-001 7.1092438697814941e-001
+ <_>
+
+ 0 -1 3 -1062674253 1929486475 197402 1841550219 135268235
+ -1165491808 956369290 1258896162
+
+ -5.4886269569396973e-001 4.1644170880317688e-001
+ <_>
+
+ 0 -1 37 -620271105 -901300206 1359008346 -603537150
+ 1355455189 596312193 -247999129 -728767550
+
+ -5.1914668083190918e-001 3.9419922232627869e-001
+ <_>
+
+ 0 -1 17 -1072700149 546031429 12798103 1881656595 35238042
+ 682232321 176931799 1148695251
+
+ -5.4100900888442993e-001 4.0588796138763428e-001
+ <_>
+
+ 0 -1 71 -522857685 1350893957 17339597 1999601732 -779974469
+ -359071607 1879296642 -1236927697
+
+ -4.9249285459518433e-001 4.4877073168754578e-001
+ <_>
+
+ 0 -1 93 2037497904 492944831 -2013291075 -754983169
+ 1837104414 -671812233 -1660989976 -973105033
+
+ -4.6483671665191650e-001 4.8267844319343567e-001
+ <_>
+
+ 0 -1 33 -553943182 -100663369 -1327169 -181207174 -805896236
+ -16777225 -32770 -344459717
+
+ -3.9679497480392456e-001 5.6408804655075073e-001
+ <_>
+
+ 0 -1 44 -8439301 -9502850 2147412095 2134171367 1467968283
+ -555876513 1719612907 -959121
+
+ -3.7275579571723938e-001 6.2219065427780151e-001
+ <_>
+
+ 0 -1 62 -2086686357 -2143072184 1073745988 -1878839231
+ 1221503177 -2113732606 1133091218 1470880455
+
+ -5.5160778760910034e-001 4.4197219610214233e-001
+
+ <_>
+ 8
+ -4.9482953548431396e-001
+
+ <_>
+
+ 0 -1 124 803987455 -1207959557 -1073747969 -3 -1879048193
+ -1720221705 -1073744641 -1212159499
+
+ -4.2883211374282837e-001 5.8106172084808350e-001
+ <_>
+
+ 0 -1 1 -1520569905 -125497088 1360134399 -49444069
+ -1065189105 -612134877 -1497194288 -1006112575
+
+ -4.8296096920967102e-001 4.3431344628334045e-001
+ <_>
+
+ 0 -1 108 -67112229 -797503462 268623881 1083056391
+ -1874187198 1879638016 -804355463 1985162053
+
+ -6.1597704887390137e-001 3.4508374333381653e-001
+ <_>
+
+ 0 -1 26 -686760009 1468434576 1140918535 -880733942 12599987
+ -1304752000 -1593784081 115557220
+
+ -5.7973521947860718e-001 4.0324980020523071e-001
+ <_>
+
+ 0 -1 115 -753405796 4259842 -872415136 85172613 154534824
+ 8454145 -2147292968 1094185899
+
+ -4.7171372175216675e-001 4.6018373966217041e-001
+ <_>
+
+ 0 -1 64 -737160572 2107229470 1478238399 386729999 46739708
+ -1717532540 134302191 1502456202
+
+ -4.7625115513801575e-001 4.6307522058486938e-001
+ <_>
+
+ 0 -1 63 574973114 1079378118 151608 -1089433600 683881170
+ 1234370560 25761968 1305471639
+
+ -5.4804503917694092e-001 4.2817059159278870e-001
+ <_>
+
+ 0 -1 126 -913048353 -1333444591 303141015 1107341569
+ -1727960821 1644167297 -1190753878 1418524891
+
+ -6.3843786716461182e-001 3.2018747925758362e-001
+
+ <_>
+ 10
+ -4.7552201151847839e-001
+
+ <_>
+
+ 0 -1 54 -17825929 -8718489 -34111631 -135004289 -1358954497
+ -16814213 -151556225 -285220369
+
+ -4.1965106129646301e-001 5.5681818723678589e-001
+ <_>
+
+ 0 -1 88 -1856526326 -645691871 337711324 1464176998
+ -1602581814 -1710751608 168420078 -1341468062
+
+ -4.0517404675483704e-001 4.9981650710105896e-001
+ <_>
+
+ 0 -1 45 -741223945 -1627185101 822169913 407916675
+ -897447857 589300224 540099855 -1156899883
+
+ -4.4794428348541260e-001 4.3524059653282166e-001
+ <_>
+
+ 0 -1 66 258608606 -1120993285 -419517441 -578240642
+ -1879056401 -1101037569 -13383 -28301584
+
+ -3.9371734857559204e-001 5.2872020006179810e-001
+ <_>
+
+ 0 -1 117 -350280689 -829730738 -1073461695 38377489
+ -645158785 839057410 -1249137694 1882566387
+
+ -5.7474929094314575e-001 3.8859930634498596e-001
+ <_>
+
+ 0 -1 34 1536523031 -952168281 -1855975139 -854621937
+ -939095838 -1744699368 -796270511 1582955555
+
+ -5.4318642616271973e-001 4.1631007194519043e-001
+ <_>
+
+ 0 -1 51 1393782562 319525363 8471383 1368384004 889651722
+ 1921550554 -1836930098 1660195204
+
+ -7.2387772798538208e-001 2.8236424922943115e-001
+ <_>
+
+ 0 -1 78 1675075922 637567168 -2130116204 -1890844654
+ 34255055 167907336 1091555477 -2142773065
+
+ -5.3113341331481934e-001 3.7920853495597839e-001
+ <_>
+
+ 0 -1 7 1164149387 1433912608 16876979 1595080980 1275865262
+ -1446313974 1241665562 173580528
+
+ -5.0643980503082275e-001 4.4159597158432007e-001
+ <_>
+
+ 0 -1 129 -111949961 -783789413 268583504 -923765997
+ -1073657336 -1340440574 -394149886 1216081042
+
+ -5.0880813598632813e-001 4.1170257329940796e-001
+
+ <_>
+ 11
+ -6.9445723295211792e-001
+
+ <_>
+
+ 0 -1 106 -487588613 -118095873 -1 2109472735 -1258291202
+ -101712129 -33832963 -67652237
+
+ -4.0311419963836670e-001 6.2951332330703735e-001
+ <_>
+
+ 0 -1 49 -268435473 -353372166 2138045906 -4121 -276824105
+ 1317007308 -41945099 -134484017
+
+ -3.5493713617324829e-001 5.5815106630325317e-001
+ <_>
+
+ 0 -1 5 1460877355 -15613689 558207061 -1623109371
+ -1926723379 244908044 -113047169 1414649856
+
+ -5.8201593160629272e-001 3.5618588328361511e-001
+ <_>
+
+ 0 -1 103 -669296387 189940185 -1860046723 -1760460773
+ -1740078915 -931100536 276828352 -1917868015
+
+ -4.2647001147270203e-001 4.6035429835319519e-001
+ <_>
+
+ 0 -1 107 -2109233498 -602287230 -1054785005 1360101827
+ 1099137177 -318504822 -1341497202 232232049
+
+ -4.9850422143936157e-001 4.4256457686424255e-001
+ <_>
+
+ 0 -1 40 -54286241 -1608934766 286327519 -1270398764
+ 1267376258 1636335746 542720627 1966594122
+
+ -5.5573022365570068e-001 3.9825862646102905e-001
+ <_>
+
+ 0 -1 18 -904213325 1133543618 67508251 -714997735 1094779186
+ 160088201 872654991 -903019733
+
+ -5.2738076448440552e-001 3.8662704825401306e-001
+ <_>
+
+ 0 -1 70 1275766299 1347454976 150995380 -217382907
+ 1661501627 -788494333 1259046051 -1006600122
+
+ -4.6260216832160950e-001 4.6852749586105347e-001
+ <_>
+
+ 0 -1 121 -367803633 420562962 36765796 -502050533 1380984391
+ 268601345 536897573 -995624251
+
+ -5.2821987867355347e-001 4.4226339459419250e-001
+ <_>
+
+ 0 -1 68 -470086117 1069514507 -268472471 1936420849
+ -1904232854 1475346303 -160432647 -258802070
+
+ -4.5063796639442444e-001 5.2728754281997681e-001
+ <_>
+
+ 0 -1 85 -698610339 -1504477166 1267372697 822280328
+ -909606742 -561903583 -1658732533 962675013
+
+ -5.5067950487136841e-001 3.9346820116043091e-001
+
+ <_>
+ 9
+ -7.5511032342910767e-001
+
+ <_>
+
+ 0 -1 27 -485801045 -1031585761 285212749 -1013038975
+ 427848842 -1006632832 -1039468406 -162905189
+
+ -4.8945146799087524e-001 4.7218933701515198e-001
+ <_>
+
+ 0 -1 114 -962887670 1547862275 -1827077881 1140871689
+ -536829941 -763363328 -264142181 1112595267
+
+ -6.1379230022430420e-001 3.4447920322418213e-001
+ <_>
+
+ 0 -1 111 -784109321 320069633 1073811463 1074292770
+ -2138957664 -2130001880 -2147252214 315289683
+
+ -5.6861025094985962e-001 3.7049382925033569e-001
+ <_>
+
+ 0 -1 80 -679857295 -17928596 -328961 991442748 1064728144
+ -357040523 -1082493190 -1368229638
+
+ -3.9095887541770935e-001 6.0248941183090210e-001
+ <_>
+
+ 0 -1 82 175736687 -17072405 2130705262 -218107907
+ -1358978530 1692925804 787824558 -672137257
+
+ -4.0445902943611145e-001 6.0857713222503662e-001
+ <_>
+
+ 0 -1 47 -985116365 -553647839 420626839 1968635918
+ -1576924981 -360119808 142606465 -795508656
+
+ -4.8094493150711060e-001 5.1770961284637451e-001
+ <_>
+
+ 0 -1 50 -1459109750 33792144 21514342 1343230978 1124110539
+ 50364672 441024643 -202393597
+
+ -5.2261912822723389e-001 4.6680617332458496e-001
+ <_>
+
+ 0 -1 98 -259008926 1378975745 -1476362162 1888485505
+ 1082744897 571146241 1367392642 -1073229683
+
+ -6.1712646484375000e-001 3.8970091938972473e-001
+ <_>
+
+ 0 -1 125 34318799 1090695442 25199491 1342177299 -2060943181
+ 143360000 -2097010032 -907873592
+
+ -5.3400212526321411e-001 4.4268184900283813e-001
+
+ <_>
+ 10
+ -4.8388049006462097e-001
+
+ <_>
+
+ 0 -1 120 -1477443585 -1140940929 -1342185476 1308588029
+ -1376256001 218070525 1073741181 -41951875
+
+ -5.0602412223815918e-001 5.5081558227539063e-001
+ <_>
+
+ 0 -1 36 -73936261 -2137816955 -1073659749 -553533419
+ -1073706765 -30799693 -972443088 1998113303
+
+ -4.8420175909996033e-001 4.5527526736259460e-001
+ <_>
+
+ 0 -1 77 454566983 420696071 16777221 -2130608117 -1719576352
+ -644874174 -2111166071 577795078
+
+ -6.1467814445495605e-001 3.4610831737518311e-001
+ <_>
+
+ 0 -1 60 -1592753970 -251404269 570458176 486621571
+ -2130476982 -1207431030 25803086 -2029039551
+
+ -5.2004736661911011e-001 4.5498979091644287e-001
+ <_>
+
+ 0 -1 72 694105913 1907355278 -37129 821280759 931135417
+ -923336907 1073716718 -68419540
+
+ -4.1492795944213867e-001 5.7309722900390625e-001
+ <_>
+
+ 0 -1 79 1393265851 -1032732526 264196 -920530793 754211
+ 169623560 1149456611 1135983235
+
+ -5.1638025045394897e-001 4.7242832183837891e-001
+ <_>
+
+ 0 -1 73 706130001 -1708251305 1056944760 1006373626
+ -1303178409 -813991949 -1183128387 -604048669
+
+ -4.1649991273880005e-001 5.9589266777038574e-001
+ <_>
+
+ 0 -1 95 -904859491 -134017015 1090589192 -587038719
+ -167673709 -897449815 152141841 886696449
+
+ -6.4827072620391846e-001 3.5843926668167114e-001
+ <_>
+
+ 0 -1 90 -717057392 690163912 822149263 65803 -1706982525
+ -1736400884 534537 -1630082545
+
+ -5.0309199094772339e-001 5.1634097099304199e-001
+ <_>
+
+ 0 -1 12 -1366843350 -2126376671 1041 -566034432 142770176
+ 12583104 51712 1116198165
+
+ -7.9860860109329224e-001 3.1541401147842407e-001
+
+ <_>
+ 10
+ -5.6616169214248657e-001
+
+ <_>
+
+ 0 -1 28 -143395977 2004844407 -32897 1840447419 -852257
+ -4097 -272630497 -1165502065
+
+ -4.4186046719551086e-001 5.1379764080047607e-001
+ <_>
+
+ 0 -1 8 -519577109 -427718635 -1862262703 -65943231 9163380
+ 1112064264 553714225 1157599521
+
+ -6.9529622793197632e-001 2.9373377561569214e-001
+ <_>
+
+ 0 -1 109 990036221 -1392408495 85 -1455423472 537079956
+ -1451032448 -2121658180 -1917118335
+
+ -4.6548900008201599e-001 4.4904062151908875e-001
+ <_>
+
+ 0 -1 83 -307263958 1726969598 602799716 -587284627
+ -2110304757 -1500547078 1400237979 -194002951
+
+ -4.4492045044898987e-001 5.2867370843887329e-001
+ <_>
+
+ 0 -1 84 -696132137 331497536 -1868546039 -1859480056
+ 1753940107 -1029504896 -1341584891 937520647
+
+ -4.9129620194435120e-001 4.4696673750877380e-001
+ <_>
+
+ 0 -1 61 -1056718371 -912911872 67113021 1498447874 134777514
+ -1412955989 -2138406733 1082270464
+
+ -5.8106380701065063e-001 4.1291686892509460e-001
+ <_>
+
+ 0 -1 43 -648808770 -703963135 -2147401712 -1858043831
+ 1073823883 1074266248 159924795 1879588907
+
+ -5.2166140079498291e-001 4.6159252524375916e-001
+ <_>
+
+ 0 -1 65 538123210 285607041 -2122121208 -1651965941
+ -1047953261 1661077920 591915 1689841382
+
+ -7.4180144071578979e-001 3.0022916197776794e-001
+ <_>
+
+ 0 -1 55 805390529 407044123 285213203 211421255 -1702852378
+ -1919942528 -2134294375 2066729839
+
+ -4.8658525943756104e-001 5.4231238365173340e-001
+ <_>
+
+ 0 -1 69 -490280822 -1274937328 268439820 1359003776
+ -931126870 1220674050 268681287 1997226373
+
+ -5.6268626451492310e-001 4.5061412453651428e-001
+
+ <_>
+ 10
+ -9.9649858474731445e-001
+
+ <_>
+
+ 0 -1 122 -1745100805 -1209164803 -1073770531 -436207891
+ -1090560009 234354687 -1610664449 -1082138881
+
+ -4.0143370628356934e-001 5.6573116779327393e-001
+ <_>
+
+ 0 -1 11 -644493203 -1021149047 16847288 -804977263
+ 1074438223 1375879170 1099505907 -233072125
+
+ -4.9022576212882996e-001 4.1356840729713440e-001
+ <_>
+
+ 0 -1 110 -1092637138 -1127253650 -604013462 309325799
+ 511047567 -562074754 -700452946 -763371997
+
+ -4.2038223147392273e-001 5.0647193193435669e-001
+ <_>
+
+ 0 -1 24 1223739637 -1419051417 1043595135 -215335105
+ 376670206 -167870465 -4194306 -222771398
+
+ -4.0432786941528320e-001 5.9335744380950928e-001
+ <_>
+
+ 0 -1 75 -1761937577 -1076383745 -286361737 -9060559
+ 2013197781 2013265783 -98370 -1002109842
+
+ -4.4517979025840759e-001 5.2503407001495361e-001
+ <_>
+
+ 0 -1 102 1359075611 -233766656 65681 -1878048735 -1610570746
+ 1379991688 -1073689784 -221669373
+
+ -4.9918147921562195e-001 4.6203434467315674e-001
+ <_>
+
+ 0 -1 52 1186053495 -36241670 -268451888 519745529 175382495
+ 788381687 2147319804 1327036346
+
+ -4.6265572309494019e-001 5.1841813325881958e-001
+ <_>
+
+ 0 -1 59 -1040035797 1946189894 50247 -1862266624 1090519113
+ 268961800 679544907 757613389
+
+ -5.5006593465805054e-001 4.4656375050544739e-001
+ <_>
+
+ 0 -1 10 1610993732 -939524096 1073877397 -267910919
+ 151167146 537427968 -769096510 -181428117
+
+ -5.6329357624053955e-001 4.2267900705337524e-001
+ <_>
+
+ 0 -1 86 -1596021624 2047393801 -2130673584 -1856700352
+ 327207619 272728192 -2004808112 491069440
+
+ -6.3942277431488037e-001 3.8081073760986328e-001
+
+ <_>
+ 8
+ -5.5261385440826416e-001
+
+ <_>
+
+ 0 -1 13 -648185009 -1315897313 -2139077632 1367998985
+ 1744840211 -1005502457 -935198613 -74777841
+
+ -5.3191488981246948e-001 4.0654698014259338e-001
+ <_>
+
+ 0 -1 105 1699432742 -1890377581 1343232064 -1039957887
+ -2142687167 637566976 -2122282989 -460871217
+
+ -5.4315727949142456e-001 3.6683899164199829e-001
+ <_>
+
+ 0 -1 81 -67160267 2105388843 -1619001345 1937768302
+ -1359003974 -1098989786 -805322771 -1874678652
+
+ -3.9974156022071838e-001 5.5645257234573364e-001
+ <_>
+
+ 0 -1 58 -1072656189 1095241792 16777487 -352059374 4718723
+ 1109393544 1074438486 -1848987381
+
+ -5.0869542360305786e-001 4.9633875489234924e-001
+ <_>
+
+ 0 -1 22 226493774 -1911816127 1091108968 26214662 26222970
+ -1123287032 -1987040599 -882898875
+
+ -6.0312920808792114e-001 3.5752627253532410e-001
+ <_>
+
+ 0 -1 127 -259153461 -805273578 50364730 -1060208632
+ -1708161014 947912705 -2147450710 80388754
+
+ -6.9576680660247803e-001 3.3376914262771606e-001
+ <_>
+
+ 0 -1 42 -800800303 1368954882 75795 2031108096 -2013069281
+ 212336778 538680 2064105488
+
+ -5.6596046686172485e-001 4.3809539079666138e-001
+ <_>
+
+ 0 -1 74 -2108215089 1260109955 -1207926768 268812673
+ -2146893693 167788680 55189712 -140564306
+
+ -5.1393473148345947e-001 4.8148322105407715e-001
+
+ <_>
+
+ 0 0 1 2
+ <_>
+
+ 0 0 1 3
+ <_>
+
+ 0 0 2 1
+ <_>
+
+ 0 0 2 11
+ <_>
+
+ 0 0 3 1
+ <_>
+
+ 0 0 4 4
+ <_>
+
+ 0 1 1 3
+ <_>
+
+ 0 1 3 5
+ <_>
+
+ 0 2 1 2
+ <_>
+
+ 0 2 4 17
+ <_>
+
+ 0 3 1 1
+ <_>
+
+ 0 4 1 1
+ <_>
+
+ 0 4 1 4
+ <_>
+
+ 0 4 1 18
+ <_>
+
+ 0 4 2 21
+ <_>
+
+ 0 5 1 1
+ <_>
+
+ 0 5 1 2
+ <_>
+
+ 0 5 1 4
+ <_>
+
+ 0 5 2 11
+ <_>
+
+ 0 6 1 2
+ <_>
+
+ 0 7 1 15
+ <_>
+
+ 0 7 2 18
+ <_>
+
+ 0 13 3 3
+ <_>
+
+ 0 13 3 19
+ <_>
+
+ 0 14 2 5
+ <_>
+
+ 0 14 2 14
+ <_>
+
+ 0 16 3 17
+ <_>
+
+ 0 17 1 6
+ <_>
+
+ 0 17 2 9
+ <_>
+
+ 0 18 1 6
+ <_>
+
+ 0 19 2 17
+ <_>
+
+ 0 21 4 13
+ <_>
+
+ 0 21 4 16
+ <_>
+
+ 0 22 2 8
+ <_>
+
+ 0 36 1 5
+ <_>
+
+ 0 40 2 12
+ <_>
+
+ 0 43 1 7
+ <_>
+
+ 0 46 2 10
+ <_>
+
+ 0 48 1 9
+ <_>
+
+ 0 48 2 4
+ <_>
+
+ 0 50 1 2
+ <_>
+
+ 0 56 2 3
+ <_>
+
+ 0 71 1 3
+ <_>
+
+ 0 74 1 2
+ <_>
+
+ 0 77 1 1
+ <_>
+
+ 0 77 2 1
+ <_>
+
+ 1 0 1 3
+ <_>
+
+ 1 0 2 1
+ <_>
+
+ 1 0 3 1
+ <_>
+
+ 1 2 1 1
+ <_>
+
+ 1 4 1 2
+ <_>
+
+ 1 4 3 23
+ <_>
+
+ 1 5 2 7
+ <_>
+
+ 1 9 1 1
+ <_>
+
+ 1 10 2 15
+ <_>
+
+ 1 12 2 7
+ <_>
+
+ 1 14 2 9
+ <_>
+
+ 1 25 2 18
+ <_>
+
+ 1 39 2 10
+ <_>
+
+ 1 71 1 3
+ <_>
+
+ 2 0 1 3
+ <_>
+
+ 2 0 2 1
+ <_>
+
+ 2 3 1 2
+ <_>
+
+ 2 4 1 5
+ <_>
+
+ 2 16 3 8
+ <_>
+
+ 2 18 3 14
+ <_>
+
+ 2 21 2 2
+ <_>
+
+ 2 22 1 4
+ <_>
+
+ 2 24 1 2
+ <_>
+
+ 2 64 1 5
+ <_>
+
+ 3 0 2 1
+ <_>
+
+ 3 1 3 25
+ <_>
+
+ 3 2 3 6
+ <_>
+
+ 3 3 2 11
+ <_>
+
+ 3 6 1 3
+ <_>
+
+ 3 17 1 11
+ <_>
+
+ 3 22 3 17
+ <_>
+
+ 3 23 1 4
+ <_>
+
+ 3 42 1 10
+ <_>
+
+ 3 52 1 6
+ <_>
+
+ 3 77 1 1
+ <_>
+
+ 4 0 2 2
+ <_>
+
+ 4 1 1 2
+ <_>
+
+ 4 2 1 1
+ <_>
+
+ 5 7 2 20
+ <_>
+
+ 5 12 2 19
+ <_>
+
+ 5 14 1 3
+ <_>
+
+ 5 19 2 15
+ <_>
+
+ 6 0 1 1
+ <_>
+
+ 6 0 2 1
+ <_>
+
+ 6 1 2 13
+ <_>
+
+ 6 5 2 5
+ <_>
+
+ 6 7 2 17
+ <_>
+
+ 6 10 2 7
+ <_>
+
+ 6 13 2 10
+ <_>
+
+ 6 14 2 13
+ <_>
+
+ 6 16 2 14
+ <_>
+
+ 6 19 2 7
+ <_>
+
+ 6 36 1 8
+ <_>
+
+ 6 39 2 7
+ <_>
+
+ 6 41 2 9
+ <_>
+
+ 6 44 2 2
+ <_>
+
+ 6 51 2 6
+ <_>
+
+ 6 77 2 1
+ <_>
+
+ 7 0 1 1
+ <_>
+
+ 7 9 1 2
+ <_>
+
+ 7 20 1 9
+ <_>
+
+ 7 23 1 4
+ <_>
+
+ 7 45 1 7
+ <_>
+
+ 7 77 1 1
+ <_>
+
+ 8 0 1 1
+ <_>
+
+ 8 47 1 11
+ <_>
+
+ 8 53 1 4
+ <_>
+
+ 8 77 1 1
+ <_>
+
+ 9 0 1 2
+ <_>
+
+ 9 0 1 15
+ <_>
+
+ 9 0 1 20
+ <_>
+
+ 9 2 1 3
+ <_>
+
+ 9 3 1 2
+ <_>
+
+ 9 6 1 3
+ <_>
+
+ 9 9 1 13
+ <_>
+
+ 9 13 1 2
+ <_>
+
+ 9 13 1 8
+ <_>
+
+ 9 19 1 16
+ <_>
+
+ 9 20 1 4
+ <_>
+
+ 9 25 1 4
+ <_>
+
+ 9 43 1 5
+ <_>
+
+ 9 48 1 4
+ <_>
+
+ 9 59 1 3
+ <_>
+
+ 9 61 1 5
+
diff --git a/samples/c/facedetect.cpp b/samples/c/facedetect.cpp
index a641a74a8a..69b9e9983a 100644
--- a/samples/c/facedetect.cpp
+++ b/samples/c/facedetect.cpp
@@ -3,6 +3,7 @@
#include "opencv2/imgproc/imgproc.hpp"
#include
+#include
#include
using namespace std;
@@ -11,36 +12,41 @@ using namespace cv;
static void help()
{
cout << "\nThis program demonstrates the cascade recognizer. Now you can use Haar or LBP features.\n"
- "This classifier can recognize many ~rigid objects, it's most known use is for faces.\n"
+ "This classifier can recognize many kinds of rigid objects, once the appropriate classifier is trained.\n"
+ "It's most known use is for faces.\n"
"Usage:\n"
"./facedetect [--cascade= this is the primary trained classifier such as frontal face]\n"
" [--nested-cascade[=nested_cascade_path this an optional secondary classifier such as eyes]]\n"
- " [--scale=\n"
+ " [--scale=]\n"
+ " [--try-flip]\n"
" [filename|camera_index]\n\n"
"see facedetect.cmd for one call:\n"
- "./facedetect --cascade=\"../../data/haarcascades/haarcascade_frontalface_alt.xml\" --nested-cascade=\"../../data/haarcascades/haarcascade_eye.xml\" --scale=1.3 \n"
- "Hit any key to quit.\n"
- "Using OpenCV version " << CV_VERSION << "\n" << endl;
+ "./facedetect --cascade=\"../../data/haarcascades/haarcascade_frontalface_alt.xml\" --nested-cascade=\"../../data/haarcascades/haarcascade_eye.xml\" --scale=1.3\n\n"
+ "During execution:\n\tHit any key to quit.\n"
+ "\tUsing OpenCV version " << CV_VERSION << "\n" << endl;
}
-void detectAndDraw( Mat& img,
- CascadeClassifier& cascade, CascadeClassifier& nestedCascade,
- double scale);
+void detectAndDraw( Mat& img, CascadeClassifier& cascade,
+ CascadeClassifier& nestedCascade,
+ double scale, bool tryflip );
-String cascadeName = "../../data/haarcascades/haarcascade_frontalface_alt.xml";
-String nestedCascadeName = "../../data/haarcascades/haarcascade_eye_tree_eyeglasses.xml";
+string cascadeName = "../../data/haarcascades/haarcascade_frontalface_alt.xml";
+string nestedCascadeName = "../../data/haarcascades/haarcascade_eye_tree_eyeglasses.xml";
int main( int argc, const char** argv )
{
CvCapture* capture = 0;
Mat frame, frameCopy, image;
- const String scaleOpt = "--scale=";
+ const string scaleOpt = "--scale=";
size_t scaleOptLen = scaleOpt.length();
- const String cascadeOpt = "--cascade=";
+ const string cascadeOpt = "--cascade=";
size_t cascadeOptLen = cascadeOpt.length();
- const String nestedCascadeOpt = "--nested-cascade";
+ const string nestedCascadeOpt = "--nested-cascade";
size_t nestedCascadeOptLen = nestedCascadeOpt.length();
- String inputName;
+ const string tryFlipOpt = "--try-flip";
+ size_t tryFlipOptLen = tryFlipOpt.length();
+ string inputName;
+ bool tryflip = false;
help();
@@ -68,6 +74,11 @@ int main( int argc, const char** argv )
scale = 1;
cout << " from which we read scale = " << scale << endl;
}
+ else if( tryFlipOpt.compare( 0, tryFlipOptLen, argv[i], tryFlipOptLen ) == 0 )
+ {
+ tryflip = true;
+ cout << " will try to flip image horizontally to detect assymetric objects\n";
+ }
else if( argv[i][0] == '-' )
{
cerr << "WARNING: Unknown option %s" << argv[i] << endl;
@@ -79,10 +90,7 @@ int main( int argc, const char** argv )
if( !cascade.load( cascadeName ) )
{
cerr << "ERROR: Could not load classifier cascade" << endl;
- cerr << "Usage: facedetect [--cascade=]\n"
- " [--nested-cascade[=nested_cascade_path]]\n"
- " [--scale[=\n"
- " [filename|camera_index]\n" << endl ;
+ help();
return -1;
}
@@ -123,7 +131,7 @@ int main( int argc, const char** argv )
else
flip( frame, frameCopy, 0 );
- detectAndDraw( frameCopy, cascade, nestedCascade, scale );
+ detectAndDraw( frameCopy, cascade, nestedCascade, scale, tryflip );
if( waitKey( 10 ) >= 0 )
goto _cleanup_;
@@ -139,7 +147,7 @@ _cleanup_:
cout << "In image read" << endl;
if( !image.empty() )
{
- detectAndDraw( image, cascade, nestedCascade, scale );
+ detectAndDraw( image, cascade, nestedCascade, scale, tryflip );
waitKey(0);
}
else if( !inputName.empty() )
@@ -160,7 +168,7 @@ _cleanup_:
image = imread( buf, 1 );
if( !image.empty() )
{
- detectAndDraw( image, cascade, nestedCascade, scale );
+ detectAndDraw( image, cascade, nestedCascade, scale, tryflip );
c = waitKey(0);
if( c == 27 || c == 'q' || c == 'Q' )
break;
@@ -180,13 +188,13 @@ _cleanup_:
return 0;
}
-void detectAndDraw( Mat& img,
- CascadeClassifier& cascade, CascadeClassifier& nestedCascade,
- double scale)
+void detectAndDraw( Mat& img, CascadeClassifier& cascade,
+ CascadeClassifier& nestedCascade,
+ double scale, bool tryflip )
{
int i = 0;
double t = 0;
- vector faces;
+ vector faces, faces2;
const static Scalar colors[] = { CV_RGB(0,0,255),
CV_RGB(0,128,255),
CV_RGB(0,255,255),
@@ -209,6 +217,21 @@ void detectAndDraw( Mat& img,
|CV_HAAR_SCALE_IMAGE
,
Size(30, 30) );
+ if( tryflip )
+ {
+ flip(smallImg, smallImg, 1);
+ cascade.detectMultiScale( smallImg, faces2,
+ 1.1, 2, 0
+ //|CV_HAAR_FIND_BIGGEST_OBJECT
+ //|CV_HAAR_DO_ROUGH_SEARCH
+ |CV_HAAR_SCALE_IMAGE
+ ,
+ Size(30, 30) );
+ for( vector::const_iterator r = faces2.begin(); r != faces2.end(); r++ )
+ {
+ faces.push_back(Rect(smallImg.cols - r->x - r->width, r->y, r->width, r->height));
+ }
+ }
t = (double)cvGetTickCount() - t;
printf( "detection time = %g ms\n", t/((double)cvGetTickFrequency()*1000.) );
for( vector::const_iterator r = faces.begin(); r != faces.end(); r++, i++ )
@@ -218,10 +241,19 @@ void detectAndDraw( Mat& img,
Point center;
Scalar color = colors[i%8];
int radius;
- center.x = cvRound((r->x + r->width*0.5)*scale);
- center.y = cvRound((r->y + r->height*0.5)*scale);
- radius = cvRound((r->width + r->height)*0.25*scale);
- circle( img, center, radius, color, 3, 8, 0 );
+
+ double aspect_ratio = (double)r->width/r->height;
+ if( 0.75 < aspect_ratio && aspect_ratio < 1.3 )
+ {
+ center.x = cvRound((r->x + r->width*0.5)*scale);
+ center.y = cvRound((r->y + r->height*0.5)*scale);
+ radius = cvRound((r->width + r->height)*0.25*scale);
+ circle( img, center, radius, color, 3, 8, 0 );
+ }
+ else
+ rectangle( img, cvPoint(cvRound(r->x*scale), cvRound(r->y*scale)),
+ cvPoint(cvRound((r->x + r->width-1)*scale), cvRound((r->y + r->height-1)*scale)),
+ color, 3, 8, 0);
if( nestedCascade.empty() )
continue;
smallImgROI = smallImg(*r);