diff --git a/Main_TrafficSignRecognition.cpp b/Main_TrafficSignRecognition.cpp index e83b4f1..b812a5f 100644 --- a/Main_TrafficSignRecognition.cpp +++ b/Main_TrafficSignRecognition.cpp @@ -32,12 +32,12 @@ int Frame_pos;//µ±Ç°Ö¡Î»Öà bool isTrain=false;//traffic signs bool TRAIN=false;//TL bool HORZ=false;//TL -bool TLRecTrain=true;//是否训练信号灯识别分类器 -bool saveFlag=true; +bool TLRecTrain=false;//是否训练信号灯识别分类器 +//bool saveFlag=true; Mat re_src;//for traffic signs detection IplImage *resize_TLR=cvCreateImage(Size(800,600),8,3); -vector found_TL;//the bounding box for traffic lights +//vector found_TL;//the bounding box for traffic lights vector found_TSR;//the bounding box for traffic signs Scalar colorMode[]={CV_RGB(255,255,0),CV_RGB(0,0,255),CV_RGB(255,0,0)};//the color mode for the traffic sign detection(Y,B,R) CvANN_MLP nnetwork,nnetwork_RoundRim,nnetwork_RectBlue;//neural networks for three different kinds of traffic signs @@ -169,9 +169,10 @@ void savePCA(string filepath,string outputPath) void TLDetectionPerFrame(IplImage *frame,float *TLDSend) { - IplImage *imageSeg=NULL,*imageNoiseRem =NULL; + IplImage *imageSeg=NULL; + //IplImage*imageNoiseRem =NULL; - found_TL.clear(); + //found_TL.clear(); cvResize(frame,resize_TLR); /*//此处先使用顶帽算法,再使用闭操作 IplImage* tmpGray=cvCreateImage(cvSize(frame->width,frame->height),IPL_DEPTH_8U,1); @@ -193,16 +194,11 @@ void TLDetectionPerFrame(IplImage *frame,float *TLDSend) cvReleaseStructuringElement(&t);*/ imageSeg = colorSegmentationTL(resize_TLR); - - - IplImage *closeImg=cvCreateImage(Size(imageSeg->width,imageSeg->height),imageSeg->depth,imageSeg->nChannels); IplConvKernel *t=cvCreateStructuringElementEx(7,7,3,3,CV_SHAPE_ELLIPSE); cvMorphologyEx(imageSeg,closeImg,NULL,t,CV_MOP_CLOSE); - cvShowImage("closeImg",closeImg); - - - imageNoiseRem=noiseRemoval(imageSeg); + //cvShowImage("closeImg",closeImg); + //imageNoiseRem=noiseRemoval(imageSeg); #if ISDEBUG_TL cvNamedWindow("imgseg"); cvShowImage("imgseg",imageSeg); @@ -213,7 +209,7 @@ void TLDetectionPerFrame(IplImage *frame,float *TLDSend) //componentExtraction(imageNoiseRem,resize_TLR,TLDSend,found_TL); componentExtractionTL(closeImg,resize_TLR,TLDSend); cvReleaseImage(&imageSeg); - cvReleaseImage(&imageNoiseRem); + //cvReleaseImage(&imageNoiseRem); cvReleaseImage(&closeImg); } @@ -657,7 +653,7 @@ void openMP_MultiThreadVideo() bool saveFlag=false; IplImage * frame,*copyFrame; float connectResult[8]={0,0,0,0,0,0,0,0}; - CvCapture * cap=cvCreateFileCapture("D:\\JY\\JY_TrainingSamples\\changshu data\\TL\\TL_HORZ.avi"); + CvCapture * cap=cvCreateFileCapture("D:\\JY\\JY_TrainingSamples\\changshu data\\TL\\RedFalsePositive.avi"); //CvCapture * cap=cvCreateFileCapture("D:\\JY\\JY_TrainingSamples\\2014.11.16\\1_clip.mp4"); float startTime=1000*(float)getTickCount()/getTickFrequency(); CvVideoWriter * writer=NULL; @@ -714,9 +710,9 @@ void openMP_MultiThreadVideo() cvShowImage("TL",resize_TLR); cvWaitKey(5); //show the detection result of TSR - //namedWindow("TSR"); - //imshow("TSR",re_src); - //waitKey(5); + namedWindow("TSR"); + imshow("TSR",re_src); + waitKey(5); #endif if (saveFlag) { diff --git a/TLRec.xml b/TLRec.xml index a76f3ba..dc0744a 100644 --- a/TLRec.xml +++ b/TLRec.xml @@ -18,282 +18,281 @@ 3 <_> - -3.66984954e-004 -1.64220128e-002 4.14069593e-002 9.29261616e-004 - -1.08939903e-002 6.83433609e-005 0. -9.28339869e-005 - -2.45595817e-003 7.83397555e-002 4.14817408e-002 5.32875629e-003 - -8.86171982e-002 -3.89052974e-003 -5.43939299e-004 - -3.62524157e-003 -1.09921424e-002 6.62939902e-003 -1.87368486e-002 - -1.37168482e-001 2.67514829e-002 1.00597076e-001 4.93561514e-002 - -2.07548365e-002 -8.74130707e-003 -1.66603848e-002 - -2.78377347e-003 -1.29583469e-002 -6.64563105e-002 2.70433282e-003 - -2.41761599e-002 -2.16947105e-002 -2.98039149e-003 - -1.33113917e-002 -3.23858969e-002 -7.25760823e-003 8.95305201e-002 - 5.90834767e-002 -3.44358571e-002 -6.76304027e-002 -5.75542171e-003 - -1.92993023e-002 -3.33700590e-002 -2.95943283e-002 6.43773600e-002 - 1.15549706e-001 5.77601418e-002 4.78298590e-003 -1.24824420e-002 - -2.23984290e-002 -7.98668936e-002 -1.66380256e-001 1.07811959e-002 - 1.54086068e-001 1.47041641e-002 -8.15247837e-003 -5.28637357e-002 - -7.80366808e-002 -4.17228751e-002 -2.67861169e-002 - -1.17269633e-002 3.55357281e-003 1.22445142e-002 1.74315218e-002 - 7.43004400e-003 -1.69955399e-002 -3.11211497e-002 -4.82444093e-002 - -3.15661244e-002 -6.18489720e-002 -5.95036941e-003 2.03327984e-002 - 5.12309819e-002 1.21247685e-002 1.26831816e-003 -1.29521440e-003 - -6.43583806e-003 -4.79271635e-002 -1.05920367e-001 4.29082550e-002 - 1.14625938e-001 2.59632841e-002 -2.90190871e-003 1.18819400e-004 - -3.43812280e-004 -8.01605918e-003 -1.92176522e-005 1.01088816e-002 - 6.39346838e-002 6.21737018e-002 1.32677495e-003 -5.63305896e-003 - -1.14610707e-002 -2.63444218e-003 -6.33237138e-003 - -2.16559134e-002 -6.86787441e-002 -2.88947560e-002 4.02975781e-003 - 2.51999795e-002 -1.69196185e-002 -4.34354581e-002 -3.13831046e-002 - -1.33781340e-002 4.27486226e-002 1.61451492e-002 -8.10983777e-003 - 2.37084124e-002 -2.75196042e-002 -1.25779137e-001 -5.10296561e-002 - 1.51110217e-001 1.70983657e-001 -3.21860835e-002 -3.38249691e-002 - -2.80263461e-002 -9.83002689e-003 -2.93177068e-002 - -9.72238109e-002 -4.43143770e-002 1.48571376e-002 -2.42193229e-002 - -5.20881778e-003 -2.96182036e-002 -2.63307672e-002 - -1.51096843e-002 -4.64747436e-002 -9.56973583e-002 - -6.53433502e-002 8.22952315e-002 1.86346665e-001 8.23224261e-002 - -4.52273786e-002 -7.50177652e-002 -5.21652997e-002 - -3.68154719e-002 -6.63078725e-002 -6.09122589e-002 - -6.60098866e-002 -6.77341549e-003 -3.99152376e-003 7.17286952e-003 - 1.62663814e-002 -1.47126028e-002 1.46349426e-002 -1.34800542e-002 - -9.75992531e-003 -4.14461419e-002 -4.59628850e-002 - -1.62848190e-003 8.22677556e-003 2.56708656e-002 7.95031805e-003 - 2.65471847e-003 -1.61447637e-002 -6.26283756e-004 -1.40030563e-004 - -2.35499609e-002 5.69751114e-002 1.95945147e-002 -2.07009614e-002 - -5.32211438e-002 3.31444480e-002 2.05607302e-002 1.40985791e-002 - -1.09720096e-001 -1.02629788e-001 -2.56479736e-002 6.07645251e-002 - 8.68379921e-002 3.22574899e-002 5.26443459e-002 5.69131970e-002 - 9.36485827e-002 -5.00702374e-002 -4.51155417e-002 -8.24850500e-002 - 1.24302553e-002 2.35393271e-003 -5.17163659e-004 -9.54149105e-003 - -3.14551294e-002 -2.13905908e-002 5.03892405e-003 2.27403492e-002 - 2.81888191e-002 -7.62705207e-002 -7.10406303e-002 -4.29179855e-002 - 1.08961575e-003 -7.25891218e-002 -9.67100561e-002 -4.45436537e-002 - 7.81844333e-002 1.27208829e-001 -2.43152641e-002 -5.88639155e-002 - -1.70126036e-002 -3.91600169e-002 -3.77329178e-002 4.80097113e-003 - -8.36498663e-003 1.92811936e-002 -3.37029546e-002 -6.34552166e-002 - -7.16990232e-002 -3.15912478e-002 -3.98027599e-002 - -1.21935584e-001 -9.18106288e-002 1.00958452e-001 1.61175266e-001 - 1.01978756e-001 -4.58434783e-002 -5.69657572e-002 -2.45808568e-002 - -5.21376822e-003 -1.92940757e-002 -1.38206501e-002 1.04511399e-002 - 5.74762635e-002 9.69653502e-002 1.18169310e-002 -3.92767116e-002 - -2.41475143e-002 -3.94718535e-003 -1.47969881e-002 - -2.49649417e-002 -1.00767724e-001 -1.94316491e-001 - -4.01074067e-002 4.52850312e-002 4.05775383e-002 1.41339225e-003 - 7.31540844e-003 -6.39952999e-003 -2.50163721e-003 -5.13731642e-003 - -2.30647922e-002 2.80000214e-002 1.26252770e-001 5.93789779e-002 - 8.44177324e-003 2.10703537e-003 -9.67051834e-003 -7.84731377e-003 - -4.64863554e-002 -1.20516509e-001 -6.31826371e-002 1.37747571e-001 - 6.39023483e-002 2.49704886e-002 2.97339652e-002 2.67105680e-002 - 6.16192585e-003 -8.38433281e-002 -1.82246521e-001 -1.29578188e-002 - 5.36557510e-002 7.03316629e-002 2.61502638e-002 7.24576488e-002 - 9.62935090e-002 7.14831352e-002 -8.19417760e-002 -1.56010643e-001 - -7.97116756e-002 2.05610786e-002 1.86406020e-002 2.90192217e-002 - 5.87426983e-002 3.97969130e-003 -1.94787066e-002 -6.06423467e-002 - -1.08137146e-001 4.79396340e-003 1.01787806e-001 9.17976052e-002 - 7.12777600e-002 1.28204718e-001 1.35017022e-001 4.47428934e-002 - -1.38169974e-001 -7.07554445e-002 -7.98763521e-003 3.13487612e-002 - 6.95964247e-002 1.13619991e-001 -1.17911426e-002 -5.68416761e-003 - -5.59274666e-003 -1.01381086e-001 -1.50205195e-001 - -5.09835295e-002 -1.10647017e-002 -2.56875884e-002 - -2.23293016e-003 -5.90209961e-002 -7.58008584e-002 8.26036092e-003 - 3.06614581e-002 4.40380983e-002 8.90766084e-003 -9.87257529e-003 - -1.83312669e-002 6.15104509e-004 5.08533008e-002 1.49697080e-001 - 4.29940633e-002 -1.58074141e-001 -1.42491266e-001 -2.05541551e-002 - 3.51903262e-003 9.14235227e-003 1.97254494e-002 9.27587226e-002 - 1.39613837e-001 8.39628577e-002 -4.04366218e-002 3.18196719e-003 - -4.35765088e-003 -2.66035716e-003 1.41818449e-003 4.89661209e-002 + 3.37937381e-004 -1.62538458e-002 3.56460437e-002 -6.87937485e-004 + -8.70745443e-003 3.61480605e-004 0. -5.48691241e-005 + 1.59434578e-003 7.96648189e-002 3.79948318e-002 3.73009685e-003 + -8.73551071e-002 -2.92164669e-003 -6.09669834e-004 + -3.75244790e-003 -1.10272197e-002 1.24494340e-002 -1.92310065e-002 + -1.34096071e-001 2.48987507e-002 1.01767085e-001 5.39668091e-002 + -2.13098694e-002 -8.92019365e-003 -1.70629509e-002 + -2.19875970e-003 -1.46210380e-002 -6.47801608e-002 1.82803965e-003 + -2.22177263e-002 -2.24913452e-002 -3.13891331e-003 + -1.36964750e-002 -3.24603245e-002 -6.15339121e-003 8.85691121e-002 + 5.79764396e-002 -3.50536928e-002 -6.63329735e-002 -5.47165982e-003 + -1.96253918e-002 -3.46648842e-002 -3.00964341e-002 6.67634383e-002 + 1.13981359e-001 5.68918698e-002 4.65685595e-003 -1.15952305e-002 + -2.42684670e-002 -8.17858353e-002 -1.66257352e-001 8.54590442e-003 + 1.58656389e-001 1.24284523e-002 -6.94191176e-003 -5.15283830e-002 + -7.45585337e-002 -4.20434326e-002 -2.58094501e-002 + -1.30942781e-002 4.55543771e-003 1.32443011e-002 1.69737078e-002 + 7.36430706e-003 -1.79041214e-002 -3.20815891e-002 -4.85777594e-002 + -3.00331302e-002 -6.16193265e-002 -6.13632984e-003 2.18741093e-002 + 5.20186462e-002 1.21439146e-002 1.34224724e-003 -1.27076288e-003 + -6.20390801e-003 -4.74875607e-002 -1.04483187e-001 4.06941883e-002 + 1.14635870e-001 2.71763559e-002 -1.91841958e-004 1.30659013e-004 + -3.19846120e-004 -7.49954535e-003 -7.49317638e-004 1.16378861e-002 + 6.17808551e-002 6.24698251e-002 1.23549835e-003 -5.86269377e-003 + -1.18531659e-002 -2.34504626e-003 -6.94198534e-003 + -1.87568087e-002 -6.73095286e-002 -2.98361592e-002 3.31038493e-003 + 2.53811702e-002 -1.72959045e-002 -4.41410542e-002 -3.15962546e-002 + -1.79683845e-002 4.22768146e-002 1.71511434e-002 -7.79947452e-003 + 2.34571509e-002 -2.76173633e-002 -1.23445667e-001 -5.26099540e-002 + 1.49272248e-001 1.72145635e-001 -3.27690654e-002 -3.24861817e-002 + -2.98570618e-002 -1.04075763e-002 -2.64764074e-002 + -9.59263444e-002 -4.47986051e-002 1.18018771e-002 -2.50851531e-002 + -5.51193533e-003 -3.05111278e-002 -2.84955837e-002 + -1.51691074e-002 -4.27965820e-002 -9.41212177e-002 + -6.50199354e-002 8.16441700e-002 1.85681060e-001 8.25155973e-002 + -4.43123095e-002 -8.16175193e-002 -5.07369041e-002 + -2.85760686e-002 -6.14083707e-002 -5.81350885e-002 + -6.66032434e-002 -8.82577244e-003 -2.14980985e-003 4.90466319e-003 + 1.20325703e-002 -1.34121617e-002 1.58986989e-002 -9.97265708e-003 + -1.12097496e-002 -4.18953560e-002 -4.63233441e-002 + -1.57760805e-003 7.01275095e-003 2.48287469e-002 7.86977913e-003 + 2.31055403e-003 -1.44593911e-002 -7.75167777e-004 2.04122835e-003 + -2.49452330e-002 5.78847639e-002 1.74285267e-002 -2.02709250e-002 + -5.40877841e-002 3.70733589e-002 2.33425871e-002 1.33959297e-002 + -1.09914534e-001 -1.01499423e-001 -2.70240940e-002 6.11264668e-002 + 8.59928578e-002 3.25644948e-002 5.15037961e-002 5.87184057e-002 + 9.32357684e-002 -4.80706245e-002 -4.60471138e-002 -8.37823004e-002 + 1.49556715e-002 3.37476330e-003 -9.35427612e-004 -9.50095896e-003 + -3.24913636e-002 -2.20214948e-002 6.27040165e-003 2.18614861e-002 + 2.76114196e-002 -7.77605325e-002 -6.82349280e-002 -4.32584472e-002 + 1.11250731e-003 -7.50980675e-002 -9.56559554e-002 -4.56997789e-002 + 7.31160417e-002 1.28083542e-001 -2.36232150e-002 -5.52705638e-002 + -1.69114247e-002 -4.10548449e-002 -3.77308317e-002 2.70103663e-003 + -9.16692987e-003 1.57942716e-002 -3.38104293e-002 -6.63933307e-002 + -6.66408911e-002 -2.93994118e-002 -4.33132760e-002 + -1.19289897e-001 -8.89911354e-002 9.72935483e-002 1.56845555e-001 + 1.02736883e-001 -4.74375449e-002 -5.00105470e-002 -1.99613795e-002 + -2.97797192e-003 -1.84186269e-002 -1.38084684e-002 1.13208862e-002 + 5.89631274e-002 9.86163318e-002 9.75105353e-003 -4.27181795e-002 + -2.28897166e-002 -1.84860150e-003 -1.12193068e-002 + -1.90069173e-002 -9.74985212e-002 -1.98918805e-001 + -3.99519503e-002 4.41642515e-002 3.91748063e-002 1.84269436e-003 + 7.27791619e-003 -6.55816263e-003 -2.70103524e-003 -5.24613075e-003 + -2.35903692e-002 3.24025936e-002 1.26667112e-001 6.22520298e-002 + 8.30726326e-003 2.02704570e-003 -9.98847000e-003 -5.29519003e-003 + -4.49853055e-002 -1.22954085e-001 -6.40380979e-002 1.40687138e-001 + 6.68659583e-002 2.37435512e-002 3.03085204e-002 2.72243377e-002 + 8.74146074e-003 -8.15972388e-002 -1.83224097e-001 -1.43795740e-002 + 5.40678576e-002 7.07519650e-002 2.61656269e-002 7.17369393e-002 + 9.67260823e-002 7.18370751e-002 -8.03628638e-002 -1.56875625e-001 + -7.78837875e-002 2.13328283e-002 1.89526305e-002 2.89020371e-002 + 5.87687045e-002 4.21276595e-003 -1.69692002e-002 -6.02393672e-002 + -1.08994171e-001 7.62070669e-003 1.00550555e-001 9.20362994e-002 + 7.05177188e-002 1.27596840e-001 1.35519534e-001 4.65432554e-002 + -1.33209392e-001 -7.14309737e-002 -7.90846255e-003 3.07580736e-002 + 6.94948211e-002 1.12676129e-001 -1.34273395e-002 -3.74079566e-003 + -6.75382838e-003 -9.94459391e-002 -1.56187460e-001 + -4.78849038e-002 -1.20957680e-002 -2.31096987e-002 + -7.85441953e-004 -6.28422201e-002 -7.04488978e-002 7.85527192e-003 + 3.00065167e-002 4.17419970e-002 8.43391661e-003 -1.23728197e-002 + -1.39387930e-002 3.65478382e-003 5.06011620e-002 1.51815102e-001 + 4.38231938e-002 -1.55388013e-001 -1.42923549e-001 -1.97712015e-002 + 3.57677438e-003 9.21432395e-003 1.97399706e-002 9.23464000e-002 + 1.42486036e-001 8.80057737e-002 -4.06826176e-002 -9.48336732e-004 + -4.49490175e-003 -2.50849943e-003 1.44004764e-003 4.92841043e-002 <_> - -4.16292343e-003 4.77132872e-002 1.34497404e-001 3.72399874e-002 - -2.02172417e-002 -7.77974119e-003 -2.02096580e-003 0. - 1.54568188e-004 8.10547620e-002 1.33755624e-001 1.18603408e-001 - -1.34692520e-001 -1.44251838e-001 -2.04853155e-002 - -5.19460533e-004 5.62648711e-006 7.78180361e-003 -7.93967694e-002 - -8.64737406e-002 4.35850136e-002 9.67132524e-002 6.78779483e-002 - -4.82414523e-003 -4.97532450e-002 -3.76305953e-002 - -5.87762892e-003 1.13767283e-002 5.97435236e-002 5.46843447e-002 - -5.15917018e-002 -1.64850697e-001 -1.07838504e-001 - -8.67981687e-002 -6.96273968e-002 -1.59167591e-002 1.44884154e-001 - 1.54401228e-001 8.72202516e-002 -9.41808894e-002 -1.43096760e-001 - -3.00830286e-002 -1.24432389e-002 -7.63502484e-003 4.07954752e-002 - 1.61587089e-001 9.32649672e-002 1.69303585e-002 -6.73049614e-002 - -1.39713377e-001 -1.08882852e-001 3.69708911e-002 9.55789164e-002 - 1.33867383e-001 9.56671610e-002 1.25230908e-001 1.06634691e-001 - -9.88024324e-002 -1.93392605e-001 -9.33301300e-002 - -1.61520410e-002 -7.04730488e-003 4.60372912e-003 7.40865618e-002 - 2.01679114e-002 1.27660558e-002 -1.33196458e-001 -1.77460745e-001 - -4.06913199e-002 1.09761432e-001 5.29450253e-002 6.06275648e-002 - 5.46893142e-002 1.77726359e-003 -3.27222236e-003 -3.48006859e-002 - -1.08292170e-001 -1.12956822e-001 8.39829519e-002 9.07363221e-002 - 7.48620853e-002 1.42160608e-002 -4.69646882e-003 -3.06535774e-004 - -1.79627631e-002 -3.24316025e-002 -1.22837638e-002 1.35556445e-001 - 7.64113665e-002 2.86438167e-002 -2.46874671e-002 -9.34481248e-002 - -4.76261564e-002 -8.18160698e-002 -1.11940667e-001 - -4.23123874e-002 1.72440130e-002 -3.06561682e-002 -1.13175507e-003 - -1.15478998e-002 -7.03556612e-002 -4.67591919e-002 8.32036894e-005 - 6.66986182e-002 2.79967636e-002 5.04818074e-002 -5.32722138e-002 - -4.02942076e-002 -5.62060736e-002 -6.00437820e-002 - -3.94747891e-002 1.39954105e-001 1.57231525e-001 1.15643516e-002 - -7.77652115e-002 -6.44908473e-002 -9.29789059e-003 - -8.62200279e-003 -1.23656364e-002 2.43309103e-002 4.80471700e-002 - -8.55291542e-003 -5.96917607e-002 -1.35791987e-001 - -8.97012204e-002 -4.20106016e-002 -1.25639504e-002 - -2.00976338e-002 -4.96224687e-002 5.41878790e-002 1.17369220e-001 - 3.35879810e-002 -8.67930502e-002 -9.44238305e-002 -8.02761409e-003 - -3.41493785e-002 -4.13922966e-002 -2.70887092e-002 2.13681795e-002 - 8.21558833e-002 2.25441344e-003 -5.30836657e-002 -4.97778393e-002 - -5.43797873e-002 4.15035784e-002 2.60104146e-002 4.63052392e-002 - -3.72201949e-002 -6.95071295e-002 -4.80637550e-002 - -2.59806328e-002 -1.08309211e-002 -1.62442010e-002 3.95102315e-002 - -4.24199440e-002 -1.78104211e-002 -6.47427440e-002 - -7.75834844e-002 1.96334701e-002 6.38696030e-002 4.40876605e-003 - 2.15531047e-003 -2.27703643e-003 -2.92014573e-002 -4.35139760e-002 - -3.16669494e-002 3.34768482e-002 -5.49706584e-003 3.94608825e-002 - 6.93888515e-002 -1.68633834e-002 3.61231379e-002 -9.80368908e-003 - 3.83993867e-003 -2.65601669e-002 3.88853252e-002 -6.12165406e-003 - 6.49264967e-003 3.40456963e-002 2.05546105e-003 -1.61323529e-002 - -9.99430418e-002 -6.77569583e-002 -1.03277350e-002 - -3.81713384e-003 4.27458622e-002 1.75103289e-003 -4.08150069e-002 - -1.35580562e-002 -1.15699964e-002 -7.71840289e-002 - -6.70372695e-002 2.48442162e-002 1.29321203e-001 1.24488689e-001 - -1.51426615e-002 -6.80405498e-002 -2.09222082e-002 - -1.18652917e-002 -7.23698437e-002 -5.52460365e-002 - -5.10873832e-003 4.66499813e-002 7.89033994e-003 -3.00339758e-002 - -2.21714042e-002 -7.39297690e-003 1.64167471e-002 -7.47234076e-002 - -6.74612448e-002 2.46444847e-002 1.16940595e-001 1.44887445e-002 - -5.05706593e-002 -3.05006281e-002 2.02435739e-002 8.25998187e-003 - -2.20454205e-003 -4.49662795e-003 1.34635940e-002 5.89759573e-002 - 4.20686603e-002 -7.15796128e-002 -3.39904726e-002 6.72990165e-004 - -1.43843899e-002 -7.55104655e-003 -5.41172922e-003 - -6.56891614e-003 1.49996309e-002 -2.05274206e-002 -7.64870197e-002 - 1.99371837e-002 -1.98125057e-002 1.62761714e-002 -5.91307366e-003 - -4.17544879e-003 1.94605440e-003 2.76097823e-002 -2.44931169e-002 - -2.39622723e-002 5.17050587e-002 1.98220387e-002 -2.80222856e-003 - 2.46336265e-003 -4.54381341e-003 -4.89237020e-003 -1.47131542e-002 - -1.43749183e-002 -5.71919419e-002 6.01252988e-002 5.55193163e-002 - -1.28754964e-002 -8.70323833e-003 -3.54108959e-002 - -3.28577906e-002 1.96127198e-003 -2.40941923e-002 -4.38120849e-002 - 6.78728744e-002 -1.33460313e-002 3.30035239e-002 -7.51142623e-003 - -1.08563796e-001 -9.22740400e-002 3.08508426e-003 -6.69653481e-003 - -5.40814968e-003 2.08198596e-002 -1.34609186e-003 3.01109813e-002 - -4.60876040e-002 -4.68276516e-002 -1.88914519e-002 6.91440841e-003 - 1.62551347e-002 -8.73632133e-002 6.93915486e-002 7.79640749e-002 - 9.04643610e-002 -2.08415557e-002 -8.66172537e-002 -1.02235109e-001 - -2.48454455e-002 -5.61915850e-003 -1.24719376e-002 5.80241205e-003 - 1.22967742e-001 9.06457473e-003 -2.50504892e-002 -9.34886038e-002 - -7.28266388e-002 -4.39297594e-003 3.13891028e-003 -5.22565097e-003 - -2.25460343e-003 1.21528085e-003 9.05297231e-003 -4.52059368e-003 - -9.69207566e-003 -8.60470161e-003 -7.95738865e-003 - -2.61753681e-003 -3.92670324e-003 -1.50214357e-004 1.24536278e-002 - 5.57411984e-002 3.72280516e-002 -4.76397239e-002 -9.45825577e-002 - -3.75532471e-002 -1.58487610e-003 -1.99395046e-003 - -7.21395598e-004 2.31609195e-002 5.28979786e-002 5.36886603e-002 - 3.07967048e-002 -4.34465632e-002 -1.43811703e-002 2.34070001e-003 - 1.03678554e-003 2.39782021e-004 2.01881845e-002 + -4.92884312e-003 -1.96860153e-002 1.41679402e-002 3.53643037e-002 + -6.59379002e-004 -2.13379669e-003 0. 0. 3.07315262e-003 + 5.88147976e-002 3.73952929e-003 -2.41232570e-002 -1.46143679e-002 + 1.26243627e-003 -3.74416285e-003 -1.84578428e-004 -4.71189059e-003 + 4.50696051e-003 -1.39170913e-002 -7.96346515e-002 -7.83927366e-003 + 1.30473644e-001 6.44687861e-002 -2.43524875e-004 -1.08154840e-003 + 6.67613567e-005 -1.20862096e-003 -4.40183934e-003 -2.23307014e-002 + -2.43114028e-002 1.93958706e-003 1.46835353e-002 -1.71785001e-002 + -5.20283310e-003 -8.86866590e-004 -1.47515757e-003 1.22534081e-001 + 4.27524187e-002 -6.87420815e-002 -3.39235924e-002 -2.00816225e-002 + -2.22413857e-002 -8.15955549e-003 -1.47213778e-002 3.91867124e-002 + 1.55159429e-001 4.28393446e-002 -8.56605098e-002 -6.62633628e-002 + -6.61799386e-002 -8.19903091e-002 -2.15478875e-002 1.86789352e-002 + 1.14699833e-001 3.44087780e-002 4.01394553e-002 -7.61744082e-002 + -4.98055443e-002 1.05572282e-003 -2.99279820e-002 -8.55178747e-004 + -1.41543532e-002 -6.17824309e-003 -1.62836872e-002 1.74438208e-002 + -7.29494542e-002 -4.25484143e-002 -1.27329389e-002 + -2.73892097e-003 5.67370094e-002 -2.29864866e-002 -3.70819829e-002 + 4.62812409e-002 7.79222185e-003 -1.29262032e-002 -2.74652038e-002 + -2.00547129e-002 -4.19495292e-002 8.64327326e-003 6.09648339e-002 + 3.18459086e-002 3.19855730e-003 -8.27854872e-003 -2.56671989e-003 + -3.29158502e-003 1.50316479e-002 3.85186635e-002 1.40278131e-001 + 8.02522153e-002 -4.86530289e-002 -1.38508201e-001 -1.88425221e-002 + -5.11182193e-003 -3.72825144e-003 -3.84070845e-005 2.92441808e-002 + 5.06675951e-002 1.16843637e-002 -1.31601274e-001 -1.42583594e-001 + -2.15513585e-003 5.18392678e-003 1.46048581e-002 1.76667012e-002 + 8.78096297e-002 1.55408472e-001 6.44486398e-002 -1.24345250e-001 + -1.28280297e-002 -5.62233441e-002 -6.06700219e-002 1.01801321e-001 + 1.17545798e-001 -1.61100447e-003 -9.81149729e-003 -4.65415465e-003 + -8.76314193e-003 -4.14122678e-002 -6.24170564e-002 + -4.09638844e-002 2.58795898e-002 3.35834697e-002 -6.71319058e-003 + -3.66731472e-002 -1.85058452e-002 -4.93369112e-003 + -6.98259892e-003 -1.55705558e-002 -2.48584282e-002 7.15081766e-003 + 8.27644616e-002 9.70756188e-002 -3.45587730e-002 -1.10212334e-001 + -4.07164954e-002 -2.22479198e-002 -2.36605164e-002 + -2.32864954e-002 -7.19192997e-003 3.22733894e-002 -2.68452475e-003 + -5.87328412e-002 -6.23837039e-002 -1.65783241e-002 + -9.64754820e-003 5.35636162e-003 -2.41164654e-003 1.13313813e-002 + 3.21294963e-002 -1.70861173e-003 -1.43571235e-002 -1.30527271e-002 + -1.09679028e-002 -7.82638788e-002 5.20923687e-003 2.61615869e-002 + 2.93875523e-002 3.05364560e-002 5.70145212e-002 7.48456344e-002 + -8.49791802e-003 -1.22129485e-001 2.58036647e-002 -2.78180186e-003 + -1.19161364e-002 1.04796877e-002 8.21276568e-003 -1.56012010e-002 + -1.96862109e-002 -1.38713066e-002 -3.06352768e-002 + -3.53003852e-002 6.74138814e-002 6.68527856e-002 4.54537682e-002 + 3.99909504e-002 8.85414332e-003 7.95119093e-004 -3.48806493e-002 + -7.49664530e-002 -1.07246183e-001 -1.21698703e-003 2.75418274e-002 + 2.09268965e-002 2.22893190e-002 6.55981079e-002 6.12840466e-002 + 1.04014343e-002 -1.24259599e-001 -9.10132974e-002 9.95747559e-003 + 1.80524476e-002 2.98375245e-002 7.00872540e-002 1.26501128e-001 + 1.00589730e-001 1.03039555e-002 -1.29928276e-001 -8.97470042e-002 + 5.74576147e-002 6.90134540e-002 3.47398110e-002 5.12181111e-002 + 3.28688994e-002 9.55323782e-003 -2.33395007e-002 -1.22593455e-001 + -7.86519870e-002 2.99203452e-002 8.10319930e-002 1.27201363e-001 + 1.28663376e-001 6.53427392e-002 1.40099516e-002 -7.67620886e-003 + -9.12428796e-002 6.00440009e-003 -1.98576553e-003 -4.81773447e-003 + -9.07072518e-003 3.51897329e-002 8.80493596e-002 1.41988238e-002 + -8.97504538e-002 -2.42019258e-002 3.11432383e-003 -5.02382079e-003 + -9.40574147e-003 -9.34803113e-003 -1.33338002e-002 + -9.29945149e-003 -4.99064811e-002 -2.52908934e-002 + -9.38468555e-004 -4.01120959e-003 -3.02048097e-003 + -3.49605270e-003 -1.45012727e-002 -2.58767582e-003 9.77046043e-003 + 1.95064452e-002 -9.78566939e-004 -1.29775601e-002 -1.21543910e-002 + -1.62659846e-002 -1.08913779e-002 -1.23520680e-002 + -1.79397855e-002 -2.87852213e-002 -1.52923735e-002 6.32160064e-003 + 2.84116734e-002 9.88453720e-003 -7.29011046e-003 -2.05561928e-002 + -6.78056059e-003 -2.65656933e-002 -1.87095627e-002 + -5.47359288e-002 -1.10224215e-002 -1.38397925e-002 + -3.68227698e-002 1.98738035e-002 -9.18445457e-003 1.19449403e-002 + -1.28224920e-002 -1.79804750e-002 -4.25458066e-002 + -4.48977426e-002 -7.09782615e-002 5.05446270e-002 -1.77136306e-002 + -1.98334306e-002 -9.05903149e-003 -3.95862274e-002 + -1.09757418e-002 -7.78496042e-002 6.18824586e-002 8.57388303e-002 + 9.38932151e-002 3.32565680e-002 -1.68048758e-002 -3.56093459e-002 + -4.21683416e-002 -4.29591760e-002 -6.81689233e-002 + -4.36254703e-002 9.70198587e-002 -1.09846443e-001 2.24995315e-002 + 9.69030615e-003 1.16006490e-002 3.14790453e-003 -4.57071606e-003 + -1.55898854e-002 -3.15218084e-002 -1.06369264e-001 + -1.25498235e-001 5.76617792e-002 1.05350293e-001 6.18557297e-002 + 2.46217698e-002 4.38009575e-003 1.07802975e-003 -7.77638843e-003 + -1.22277148e-001 3.08497902e-003 1.11018427e-001 2.84506241e-003 + -2.29542237e-002 -3.76005992e-002 -1.43210338e-002 + -1.31870210e-002 -3.00619546e-002 -1.11372527e-002 + -3.70759517e-002 1.15611173e-001 8.22046921e-002 1.98824760e-002 + 5.05116694e-002 1.26057013e-003 -4.08670516e-004 -8.16818327e-003 + -9.77149140e-003 <_> - -9.40621947e-004 6.27095997e-002 8.42249319e-002 -6.77346298e-003 - -1.42372670e-002 -6.42409455e-003 -1.16692926e-003 2.40603433e-004 - 9.89520457e-003 2.10289992e-002 8.91145095e-002 1.03746533e-001 - -4.37868424e-002 -1.17813326e-001 -1.21549182e-002 2.09811353e-003 - 7.36247469e-003 1.30214170e-002 -5.59363067e-002 5.43677919e-002 - 6.61023147e-003 -1.80569608e-002 1.29124513e-002 1.73317268e-002 - -1.77644193e-002 -9.05156601e-003 4.94744672e-005 4.63241199e-003 - 1.23425804e-001 5.69483861e-002 -6.11842833e-002 -1.23203866e-001 - -9.33395773e-002 -2.80339792e-002 -9.27537214e-003 3.39869224e-003 - 4.55486141e-002 4.96574454e-002 6.95711300e-002 2.66939751e-003 - -1.08746625e-001 -6.73169456e-003 1.10189477e-002 1.04274955e-002 - 1.71417575e-002 3.07977851e-002 8.16794857e-003 4.18646913e-003 - -2.07286533e-002 -1.01538807e-001 -1.13876676e-002 1.41349673e-001 - 5.73780350e-002 1.84149724e-002 5.80455549e-002 9.42775756e-002 - 9.51499343e-002 -3.19351628e-002 -1.19412497e-001 -5.63405789e-002 - 4.52483632e-003 9.28004924e-003 1.65705588e-002 2.60496717e-002 - 1.77182560e-003 -3.79943219e-003 -8.37358907e-002 -1.10410973e-001 - -1.58148690e-003 1.31938934e-001 7.77613819e-002 6.38716966e-002 - -7.01700861e-004 -7.28969369e-003 -4.62423638e-003 - -2.47112345e-002 -9.29872170e-002 -3.27979587e-002 1.55033231e-001 - 2.57819574e-002 -1.91069283e-002 -1.07039725e-002 4.75809583e-003 - -2.15568324e-003 -1.61735509e-002 -1.78452004e-002 8.13073851e-003 - 9.32430327e-002 -2.24391799e-002 -3.19058783e-002 -2.47179400e-002 - -5.53924665e-002 -2.60374937e-002 -6.13224693e-002 - -9.56281871e-002 -3.03988308e-002 7.32888058e-002 7.25982105e-003 - 5.04363887e-003 -4.23944443e-002 -2.70184018e-002 1.13442214e-002 - 3.41446437e-002 6.81830421e-002 1.79583393e-002 2.27090362e-002 - -5.17720543e-002 -5.96847758e-002 -3.29347402e-002 4.45062779e-002 - 1.57779846e-002 -3.23383999e-003 7.38724554e-003 3.23619545e-002 - -1.15991933e-002 -3.85665298e-002 -7.97824760e-004 7.01903272e-003 - 8.22263062e-002 6.63701892e-002 5.53916907e-003 -1.10607110e-002 - -6.49636835e-002 -6.53727949e-002 -4.74303178e-002 - -4.14439524e-003 1.72024295e-002 3.97777744e-002 1.54552038e-003 - -1.91210601e-002 -3.64652686e-002 -4.10470553e-002 - -6.43531680e-002 -4.95916344e-002 3.19550186e-002 -6.47881255e-003 - 2.39432976e-002 6.03057556e-002 1.06354915e-001 9.69546139e-002 - -2.04042960e-002 -1.08395912e-001 -8.24512467e-002 - -2.28173751e-002 2.18820665e-002 4.03316915e-002 3.50094363e-002 - -7.83167686e-003 -3.55476514e-002 -5.16819060e-002 - -1.27164926e-002 -9.83018056e-003 -9.47077177e-004 1.66406259e-002 - -2.20489968e-002 -2.54706815e-002 -7.08640292e-002 - -5.70948534e-002 1.80613454e-002 6.78197667e-002 4.12340090e-002 - 3.32737267e-002 -4.38997783e-002 -4.51210029e-002 -2.39798315e-002 - 8.47942457e-002 1.09616607e-001 -5.92637807e-003 -4.92585637e-002 - -2.64999643e-002 -3.75067927e-002 -3.04727070e-002 - -1.27463102e-001 -1.03204817e-001 8.14535934e-003 9.14847702e-002 - 1.04932211e-001 3.87767367e-002 1.53852385e-002 -1.85867287e-002 - -4.63451678e-003 -4.91771251e-002 -3.47396024e-002 - -3.07252482e-002 -4.30451706e-002 1.60862375e-002 8.09163973e-002 - 3.42620686e-002 1.39909470e-002 -2.10620463e-002 4.00143239e-004 - 4.05723006e-002 4.40335870e-002 5.74067309e-002 2.25369148e-002 - 1.31346732e-002 -1.69089846e-002 -1.71129815e-002 1.40826181e-002 - -7.90602639e-002 -1.00427866e-001 -2.70179193e-003 4.85246852e-002 - 4.31152694e-002 3.18649970e-002 4.01612781e-002 9.20019578e-003 - 3.06650996e-003 2.28464436e-002 -2.51834150e-002 -3.66341174e-002 - -7.65101565e-003 -6.74357340e-002 -2.23144311e-002 3.49940769e-002 - 1.56091163e-002 1.29256677e-002 1.32445954e-002 7.65886391e-003 - -4.51686559e-004 1.66977309e-002 -6.53322460e-003 -9.30996612e-002 - -3.98298949e-002 2.06608083e-002 -1.03677139e-002 9.48934257e-003 - 3.28145884e-002 9.83699411e-002 1.84240490e-001 4.64339890e-002 - -1.50621369e-001 -4.90198135e-002 -1.69795956e-002 4.49749734e-003 - -6.80327430e-005 5.97652979e-005 1.09927086e-002 3.37513871e-002 - 1.54044433e-002 -9.13502723e-002 -4.55701984e-002 7.34878052e-003 - -1.65564120e-002 1.33156758e-002 6.15446130e-003 4.51202355e-002 - 1.03427231e-001 8.74326006e-002 -1.24461465e-001 -5.56806177e-002 - -8.16716719e-003 -4.63555828e-002 -2.92137042e-002 - -1.98680721e-002 4.98423167e-002 1.70681641e-001 1.17400838e-002 - -8.29571784e-002 -2.07027383e-002 -4.56016921e-002 - -4.65024523e-002 -1.23442777e-001 -1.38855994e-001 1.18131507e-002 - 1.74012482e-001 8.61175135e-002 -2.96785543e-003 -2.44284584e-003 - -5.06843068e-002 -5.92046902e-002 -1.92380231e-002 - -1.71434544e-002 2.73319706e-002 1.13446333e-001 6.31460771e-002 - -1.22946754e-001 -4.66746278e-002 -4.52011004e-002 - -7.13454783e-002 -1.07473604e-001 -7.69360736e-002 2.07118597e-002 - 8.03120658e-002 4.03969698e-002 -1.19760530e-002 -5.43073704e-003 - -5.45002930e-002 6.60739699e-003 -6.61701187e-002 -1.08904898e-001 - 5.59058227e-002 1.35114878e-001 5.26774190e-002 4.24299017e-003 - 2.33300198e-002 -1.05294690e-003 1.97663959e-002 2.33989395e-003 - -4.90253940e-002 9.31221526e-003 1.70317572e-002 -9.53254942e-003 - -2.22719065e-003 2.40307692e-002 7.99314026e-003 -1.87801346e-002 - -1.04118258e-001 -6.80582672e-002 4.91878651e-002 1.07929699e-001 - 2.12889817e-002 7.90181162e-004 -1.12853661e-004 -1.14787817e-002 - -4.31731232e-002 -6.20641410e-002 -3.01919337e-002 7.05352286e-003 - 4.45717946e-002 5.12633193e-003 3.16287088e-003 0. - -1.88120343e-002 + 8.70718714e-003 -2.92799063e-002 9.62741207e-003 2.49279942e-002 + 5.16030379e-003 -9.43198043e-004 2.23743002e-004 7.46799633e-004 + 5.58605045e-003 1.32517638e-002 -2.19044294e-002 -5.67366369e-003 + 3.10850404e-002 4.87709697e-003 -5.39449102e-004 1.38333370e-003 + -6.34450524e-004 1.07686315e-002 3.89390229e-003 -2.24551130e-002 + -7.02877296e-003 2.88968310e-002 -1.51702145e-003 4.89209127e-003 + 2.91724852e-003 7.05461949e-004 2.11652112e-003 9.47384909e-003 + 2.42592394e-003 -2.46173190e-003 8.54247529e-003 3.67971230e-003 + 3.56267602e-003 4.14805068e-003 5.86481998e-004 1.48672741e-002 + 2.48480216e-002 5.72966039e-003 -2.13407781e-002 -1.74194798e-002 + -2.14768685e-002 -4.74722870e-003 1.37866372e-002 4.84782364e-003 + 3.48746292e-002 1.42907565e-002 8.89089331e-003 -6.78068176e-002 + -6.79812431e-002 -4.91387434e-002 -1.39122866e-002 7.37810805e-002 + 7.03463256e-002 1.87234487e-002 1.32265082e-002 3.43811177e-002 + -3.48977037e-002 -5.80826774e-003 1.31174987e-002 -5.33921411e-004 + 1.46531947e-002 -2.48379707e-002 3.19990586e-003 -6.68074414e-002 + 4.87967255e-003 -5.30971996e-002 -3.04036718e-002 1.24054682e-002 + 3.42900641e-002 9.03148130e-002 4.51181158e-002 -2.98094023e-002 + -4.30059200e-003 -1.29112555e-003 -1.08731920e-002 + -3.10285166e-002 -2.13153716e-002 -1.11692976e-002 9.13798884e-002 + 5.24052121e-002 -3.66800465e-002 -2.12448258e-002 -4.99677286e-003 + -3.37031530e-003 -5.43696899e-003 7.51860579e-003 3.23935300e-002 + 1.04752831e-001 4.71855439e-002 -8.16583708e-002 -1.18424751e-001 + -1.31104803e-002 -9.16735269e-003 -1.36228791e-002 + -3.69540823e-004 3.36427353e-002 1.02897011e-001 5.87631464e-002 + -1.19040474e-001 -1.31858692e-001 -3.50086298e-003 4.91741719e-003 + 6.04855781e-003 2.65773274e-002 4.90525067e-002 1.17469713e-001 + 4.76128198e-002 -1.27121031e-001 1.55804697e-002 2.20392626e-002 + 4.02665930e-003 -2.59601581e-003 -2.11927257e-002 3.13793938e-003 + 7.46905198e-003 2.00081756e-003 2.16663396e-003 -1.04148760e-002 + 3.45980539e-003 2.10418995e-003 1.24184601e-002 1.20080784e-002 + -4.76311520e-003 -4.66788234e-003 6.13594754e-003 1.36728128e-002 + 4.12962511e-002 5.55037148e-002 4.86385683e-003 -2.94190180e-002 + -4.42423187e-002 8.58480483e-003 -2.65089963e-002 -3.60752530e-002 + 6.48893882e-003 -3.66769009e-003 2.76628956e-002 1.01791723e-002 + 3.28626968e-002 3.66693288e-002 9.73001588e-003 -8.59999284e-002 + -3.71040478e-002 -3.34226415e-002 -2.12219711e-002 1.02775376e-002 + -6.14301884e-004 2.98916958e-002 4.66817766e-002 -2.66399398e-003 + -9.48997028e-003 -1.61148198e-002 -1.93791222e-002 + -8.43629986e-002 -4.62530972e-003 -1.22583681e-003 2.46922392e-002 + 6.60604164e-002 4.92690504e-002 3.55295837e-002 3.08119543e-002 + -7.73012117e-002 -3.30220722e-002 -6.91368151e-003 1.27719459e-003 + 6.90782219e-002 6.92588016e-002 1.60107464e-002 -6.03587739e-002 + -4.74636741e-002 -8.89923349e-002 -1.12277940e-001 + -2.05471311e-002 1.75879356e-002 1.00229956e-001 9.74199772e-002 + 8.38216767e-002 -6.00052066e-003 -6.26879139e-003 -1.00926884e-001 + -8.32604691e-002 -3.80728510e-003 3.91286658e-003 1.06386878e-002 + 1.80636533e-002 4.29792143e-002 8.22306350e-002 6.26293793e-002 + -7.09857568e-002 -6.94145560e-002 2.28097178e-002 2.05578357e-002 + 2.96939723e-002 4.12523262e-002 4.65317480e-002 8.08555409e-002 + 4.20829803e-002 -8.10959935e-002 -8.82885680e-002 1.60898026e-002 + 3.68781723e-002 5.50875850e-002 6.21610954e-002 5.70802875e-002 + 4.32650484e-002 3.19468416e-002 -7.68239275e-002 -4.57192473e-002 + 6.05565049e-002 4.68786061e-002 3.97356376e-002 2.75147110e-002 + -4.68163937e-003 2.32840050e-002 2.91229393e-002 -5.76206073e-002 + 1.11205233e-002 6.78551337e-003 -2.33490998e-003 -1.09992921e-002 + 5.96419675e-003 3.30539159e-002 -3.19747515e-002 -6.06115088e-002 + 1.40309380e-003 1.42492459e-003 -9.69786197e-004 -6.18645223e-003 + 3.10760178e-002 1.08987048e-001 6.25956208e-002 -9.50446650e-002 + -6.47108480e-002 -1.99625958e-002 -1.13049624e-002 + -2.65087327e-003 -4.53805478e-006 7.87573121e-003 6.12178966e-002 + 2.99413726e-002 -7.68228695e-002 -9.11025181e-002 -3.04730833e-002 + -2.70834118e-002 -2.83851624e-002 -1.25910174e-002 1.08428411e-002 + 6.78360015e-002 9.15157720e-002 -6.63828850e-002 -9.43937302e-002 + -5.80606982e-002 -1.63442772e-002 -1.69287845e-002 + -1.89889260e-002 2.89125927e-002 1.04726404e-001 1.73098035e-002 + -6.58909306e-002 -4.47630920e-002 -5.46178780e-002 + -9.55655649e-002 -3.85336094e-002 -1.04855755e-002 7.69084468e-002 + 1.09087177e-001 4.51132320e-002 -3.73570919e-002 -2.80029904e-002 + -9.84032154e-002 -2.21681297e-002 -3.23651135e-002 + -1.51580311e-002 2.54355408e-002 5.10219000e-002 4.46563922e-002 + -6.13929667e-002 -4.79598753e-002 -4.27446626e-002 + -4.71040606e-002 -4.94721048e-002 -1.95947904e-002 5.09318002e-002 + 4.41283882e-002 4.87545272e-003 -5.30566424e-002 -4.92929369e-002 + -5.47316745e-002 -9.19925496e-002 9.12545342e-003 2.50382815e-002 + 8.02188292e-002 1.09554254e-001 3.26660350e-002 -4.00755554e-003 + -2.97789671e-003 -9.90046486e-002 -3.61461155e-002 6.19677454e-002 + 3.41240913e-002 5.74139021e-002 2.10940912e-002 -4.18583443e-003 + 4.26754728e-003 3.84154450e-003 -9.62266475e-002 -5.97726852e-002 + -3.29174288e-002 -5.74878789e-003 6.78805038e-002 8.05041790e-002 + 7.94399437e-003 -8.44845083e-003 -2.49379911e-002 -5.09865358e-002 + -9.53830257e-002 -5.55639947e-003 1.51573662e-002 7.60720894e-002 + 7.75261074e-002 1.38993131e-003 6.91420352e-003 -7.51895085e-003 + -5.21787927e-002 <_> 1 - -1.1694794282915051e-001 + -1.1816981001489091e-001 1. 0 <_> 1 - -1.3657966967026666e-001 + -1.6551418797444781e-001 1. 1 <_> 1 - 5.4147968730023616e-002 + -4.7125192473508958e-002 1. diff --git a/TrafficLightDetection/RectangleDetection.cpp b/TrafficLightDetection/RectangleDetection.cpp index 752b8c1..78d75e6 100644 --- a/TrafficLightDetection/RectangleDetection.cpp +++ b/TrafficLightDetection/RectangleDetection.cpp @@ -7,7 +7,7 @@ void GetImageRect(IplImage* orgImage, CvRect rectInImage, IplImage* imgRect) CvSize size; size.width=rectInImage.width; size.height=rectInImage.height; - //result=cvCreateImage( size, orgImage->depth, orgImage->nChannels ); + //ͼȡͼ cvSetImageROI(orgImage,rectInImage); cvCopy(orgImage,result); @@ -50,28 +50,24 @@ bool isLighInBox(Mat src) return false; } -bool rectangleDetection(IplImage* inputImage,IplImage* srcImage,CvRect iRect,int iColor,int* p1,int* p2)//p1Ϊǰλp2Ϊתλ +void rectangleDetection(IplImage* inputImage,IplImage* srcImage,CvRect iRect,int iColor,int* p1,int* p2)//p1Ϊǰλp2Ϊתλ { - const int iWidth = inputImage->width; const int iHeight = inputImage->height; - IplImage* imageGrayScale = cvCreateImage(cvSize(iWidth,iHeight),IPL_DEPTH_8U,1); - int iWidthStep = imageGrayScale->widthStep; - cvCvtColor(srcImage,imageGrayScale,CV_BGR2GRAY); + + //ˮƽֱ״̬ bool VerticalReturnStatus = false; bool HorzReturnStatus=false; // int HorzRectHeight=(iRect.width+iRect.height)/2 + 6; - int HorzRectWidth=3*(HorzRectHeight-4)+6; + int HorzRectWidth=3*(HorzRectHeight-4)+3; int HorzRectX1=0, HorzRectY1=0; int HorzRectX2=0, HorzRectY2=0; - //int iSrcWidthStep = srcImage->widthStep; - //thresholding for graylevel differences between seedpoints and its neibours - const int grayThresholding =70;//70 + const int grayThresholding =80;//70 const int RatioThreshold = 55;//кɫռ // @@ -89,62 +85,98 @@ bool isLighInBox(Mat src) HorzRectX1=iRect.x-HorzRectWidth/3*2; } + //ֱⴰ iDrawRectY2 = iDrawRectY1 + iDrawRectHeight; iDrawRectX1 = iRect.x-3; iDrawRectX2 = iDrawRectX1 + iDrawRectWidth; + //ˮƽ HorzRectX2= HorzRectX1+HorzRectWidth; HorzRectY1= iRect.y-3; HorzRectY2= HorzRectY1+HorzRectHeight; if(HorzRectX1<0 || HorzRectY1<0 || HorzRectX2>=iWidth || HorzRectY2>=iHeight) { - cvReleaseImage(&imageGrayScale);//when return the result, the image must be released, otherwise,the memory will be leaked - return HorzReturnStatus; + //cvReleaseImage(&imageGrayScale);//when return the result, the image must be released, otherwise,the memory will be leaked + return; } if( iDrawRectX1<0 || iDrawRectY1<0 || iDrawRectX2>=iWidth || iDrawRectY2>=iHeight) { - cvReleaseImage(&imageGrayScale);//when return the result, the image must be released, otherwise,the memory will be leaked - return VerticalReturnStatus; + //cvReleaseImage(&imageGrayScale);//when return the result, the image must be released, otherwise,the memory will be leaked + return; } + + //ֱͳƺɫر + CvRect VerticalRect; + VerticalRect.x=iDrawRectX1; + VerticalRect.y=iDrawRectY1; + VerticalRect.width=iDrawRectWidth; + VerticalRect.height=iDrawRectHeight; + IplImage*VerticalLight = cvCreateImage(cvSize(iDrawRectWidth,iDrawRectHeight),srcImage->depth,srcImage->nChannels); + GetImageRect(srcImage,VerticalRect,VerticalLight); + IplImage *VerticalGrayLight=cvCreateImage(cvSize(iDrawRectWidth,iDrawRectHeight),IPL_DEPTH_8U,1); + cvCvtColor(VerticalLight,VerticalGrayLight,CV_BGR2GRAY); + cvThreshold(VerticalGrayLight,VerticalGrayLight,0,255,CV_THRESH_OTSU); + + + /* + int iWidthStep = VerticalGrayLight->widthStep; int sum=0; - int grayValue=0; - //int bValue=0,gValue=0,rValue=0; - //int bgrMax=0,bgrMin=0; - unsigned char* pData; - //unsigned char* pSrcData; - for(int j=iDrawRectY1; j<=iDrawRectY2; j++){ - pData = (unsigned char*)imageGrayScale->imageData + j*iWidthStep; - for(int i=iDrawRectX1; i<=iDrawRectX2; i++){ - grayValue = pData[i]; - if((grayValue<=grayThresholding)) + int VerticalGrayValue=0; + unsigned char* pDataVertical; + for(int j=0; jimageData + j*iWidthStep; + for(int i=0; idepth,srcImage->nChannels); + GetImageRect(srcImage,HorzRect,HorzLight); + IplImage *HorzGrayLight=cvCreateImage(cvSize(HorzRectWidth,HorzRectHeight),IPL_DEPTH_8U,1); + cvCvtColor(HorzLight,HorzGrayLight,CV_BGR2GRAY); + cvThreshold(HorzGrayLight,HorzGrayLight,0,255,CV_THRESH_OTSU); + + +/* + int HorzWidthStep = HorzGrayLight->widthStep; int HorzSum=0; - for(int j=HorzRectY1; j<=HorzRectY2; j++){ - pData = (unsigned char*)imageGrayScale->imageData + j*iWidthStep; - for(int i=HorzRectX1; i<=HorzRectX2; i++){ - grayValue = pData[i]; - if((grayValue<=grayThresholding)) + int HorzGrayValue=0; + unsigned char* pDataHorz; + for(int j=0; jimageData + j*HorzWidthStep; + for(int i=0; i=RatioThreshold&&VerticalBlackRatio<=90) + //cout<<"Horz Ratio:"<=RatioThreshold&&VerticalBlackRatio<=93) VerticalReturnStatus = true; else if (HorzBlackRatio>=RatioThreshold&&HorzBlackRatio<=90) { @@ -204,9 +238,9 @@ bool isLighInBox(Mat src) //cout<<"ֹת"< &found_filtered); -bool rectangleDetection(IplImage* inputImage,IplImage* srcImage,CvRect iRect,int iColor,int* p1,int* p2); +void rectangleDetection(IplImage* inputImage,IplImage* srcImage,CvRect iRect,int iColor,int* p1,int* p2); bool BoxDetectTL(Mat src_test,HOGDescriptor &myHOG,bool HORZ); bool BlackAroundLight(IplImage* srcImg,CvRect iRect); int RecognizeLight(IplImage* srcImg,CvRect iRect);//return the TL recognition result diff --git a/isTL.xml b/isTL.xml index 24a59eb..ce6a3ee 100644 --- a/isTL.xml +++ b/isTL.xml @@ -18,94 +18,94 @@ 1 <_> - 1.56036884e-001 -1.55410200e-001 -2.01866969e-001 4.14274074e-002 - 6.94726929e-002 4.65383753e-002 6.28277808e-002 7.09838569e-002 - 1.21663369e-001 7.31278360e-002 -1.64729375e-002 -2.04167292e-001 - -6.82259202e-002 -5.51611278e-003 2.17052996e-002 4.86485884e-002 - 4.98296283e-002 1.07196525e-001 7.82411993e-002 -2.24886507e-001 - -2.71874696e-001 -9.86494794e-002 1.25687122e-001 1.20658644e-001 - 4.06613164e-002 6.79099038e-002 1.53325468e-001 1.22529693e-001 - -4.00939249e-002 -9.35682580e-002 -5.86220473e-002 4.66422997e-002 - 3.42046395e-002 5.45608625e-003 3.03352214e-002 1.17306046e-001 - 6.92723831e-003 6.97051361e-002 -6.36906177e-002 -6.82732761e-002 - -6.67658150e-002 -3.82032134e-002 -4.55159927e-003 2.07766555e-002 - -2.27734707e-002 1.50575906e-001 1.68935061e-001 5.93921281e-002 - 3.84022370e-002 -7.74629042e-002 -1.84293836e-001 -2.11851209e-001 - -1.05937727e-001 -3.74147631e-002 6.98328540e-002 7.32415617e-002 - -5.12451008e-002 -2.26342455e-002 -6.47476166e-002 - -7.19183758e-002 1.16215432e-002 3.70402820e-002 1.14437707e-001 - 1.41274124e-001 1.09327637e-001 1.11195529e-002 4.78796884e-002 - -1.58648808e-002 -1.43218726e-001 -1.40580520e-001 - -1.93535332e-002 3.69007885e-002 2.15092018e-001 1.11557022e-001 - 7.01970384e-002 8.37866068e-002 1.06217340e-003 -5.64414263e-002 - -2.54340291e-001 -1.62821755e-001 -8.33874196e-002 1.94156289e-001 - 1.27943456e-001 1.40295029e-001 1.18830234e-001 8.28565806e-002 - -1.19835045e-002 -3.01721036e-001 -1.46937117e-001 - -5.95533922e-002 4.30338718e-002 1.03374720e-001 7.56448135e-002 - 8.74492750e-002 6.01874851e-002 1.44489827e-002 -2.03338310e-001 - -2.50614304e-002 -7.31143868e-003 2.15247856e-003 1.94987506e-001 - 1.68845028e-001 2.12656215e-001 1.46948799e-001 -7.68441036e-002 - -2.93781132e-001 -5.76775894e-002 4.03338559e-002 2.39075460e-002 - -5.97934760e-002 -1.29885927e-001 -1.26589030e-001 - -3.76855955e-002 2.65170615e-002 -3.86675149e-002 1.66915245e-002 - 5.94513267e-002 5.82416579e-002 1.35351392e-002 1.81127973e-002 - -7.63457268e-002 -7.28994608e-002 -7.00188354e-002 - -6.26587495e-002 2.41685063e-002 5.79076186e-002 3.81255858e-002 - 6.19256832e-002 7.89657235e-002 9.50867012e-002 -8.64683390e-002 - -1.49970874e-001 -5.56673892e-002 -8.72978941e-002 - -1.47175556e-002 7.43101016e-002 8.60797539e-002 1.55985773e-001 - 2.14912836e-002 -9.33349207e-002 -2.01558113e-001 -8.49207267e-002 - -3.82880606e-002 2.19198549e-003 4.72889803e-002 2.18127258e-002 - 5.54234460e-002 -1.36239165e-002 -8.53878185e-002 -7.84353763e-002 - -2.42070341e-003 3.55904326e-002 7.10110217e-002 1.31019307e-002 - 3.94776613e-002 9.54635814e-002 1.94141939e-002 -5.31869344e-002 - -7.16326162e-002 -6.74846098e-002 -1.08612999e-002 1.03373993e-002 - 9.56162512e-002 6.90407678e-002 1.30511761e-001 -3.20903733e-002 - -8.12359825e-002 -1.25160113e-001 -4.79309522e-002 - -2.53596101e-002 -2.74991486e-002 5.67354336e-002 -8.64330903e-002 - -4.05427217e-002 -1.18163088e-002 1.21157393e-002 4.48283106e-002 - -1.40989944e-002 2.72303168e-002 -5.72508126e-002 -5.24675101e-002 - 5.78021333e-002 5.38130589e-002 4.91915084e-002 -8.24092794e-003 - -1.21752499e-002 -1.86048046e-001 -4.19445103e-003 - -4.51702848e-002 -6.16904162e-002 2.63639558e-002 5.48340529e-002 - 1.80467650e-001 1.82503425e-002 -1.19063802e-001 -2.52490520e-001 - 3.45796384e-002 6.63022231e-003 -6.80198073e-002 -1.09015055e-001 - -5.09467274e-002 3.11760008e-002 6.05069995e-002 7.51648247e-002 - -3.63552012e-002 4.68737707e-002 -5.29397875e-002 4.06733826e-002 - 1.09812459e-002 -1.28183013e-003 1.42601907e-001 8.39142576e-002 - 6.09576069e-002 3.59109007e-002 9.33900476e-002 1.46967284e-002 - 5.96003756e-002 4.65553291e-002 3.99092101e-002 1.34020954e-001 - 4.31154855e-002 -1.50818139e-001 -1.81441188e-001 -1.20097004e-001 - 5.35494797e-002 1.07319333e-001 8.15097094e-002 5.38924783e-002 - 1.01222783e-001 1.68098286e-002 -1.16695344e-001 -8.84555280e-002 - -1.16753310e-001 2.13977005e-002 1.85226664e-001 8.34598839e-002 - 6.94932863e-002 1.57387510e-001 5.72885796e-002 -1.63378760e-001 - -3.25934857e-001 -2.37415224e-001 1.69544905e-001 2.95434535e-001 - 1.90200031e-001 6.92697465e-002 1.96215540e-001 7.86449611e-002 - -7.73894787e-002 -1.47447020e-001 -2.14115113e-001 2.32258551e-002 - 6.89294562e-002 6.43628836e-002 4.43876982e-002 3.01110512e-003 - -6.06745295e-002 -5.05361594e-002 -8.62531886e-002 - -8.73161629e-002 -3.65096033e-002 2.56805625e-002 -7.61494339e-002 - -5.57822809e-002 -5.39904162e-002 3.33092250e-002 1.42641198e-002 - -1.63426697e-002 3.33168730e-003 -3.77073623e-002 1.90925896e-001 - 1.06870264e-001 4.45638895e-002 8.55093524e-002 -2.20268220e-002 - -4.56462055e-002 -7.82874003e-002 -1.21429577e-001 - -1.40921146e-001 6.12106845e-002 4.76668067e-002 -1.11054555e-002 - -5.34440838e-002 5.25335632e-002 5.18498681e-002 5.09985983e-002 - 1.12468889e-002 -1.26223594e-001 -7.37349465e-002 -1.35690689e-001 - -1.25087157e-001 -3.67802791e-002 3.56901400e-002 5.01857586e-002 - 2.41782591e-002 5.45808896e-002 1.14228902e-002 -7.66681880e-002 - -1.17870860e-001 -2.02913478e-001 2.50498392e-002 1.73717082e-001 - 1.22337490e-001 1.39574811e-001 7.24396557e-002 -5.26285097e-002 - -7.60265533e-003 -1.58792377e-001 -1.69140503e-001 - -2.09366214e-002 2.33074352e-002 1.07788809e-001 7.67055303e-002 - 1.04977414e-001 7.36823827e-002 1.73312854e-002 -2.16749817e-001 - -2.14010343e-001 7.24725053e-002 1.69069335e-001 1.91567838e-001 - 1.33366734e-001 1.07279412e-001 2.28625932e-003 + 1.56036898e-001 -1.55410200e-001 -2.01866969e-001 4.14274186e-002 + 6.94726706e-002 4.65383753e-002 6.28277734e-002 7.09838569e-002 + 1.21663362e-001 7.31278434e-002 -1.64729469e-002 -2.04167292e-001 + -6.82259426e-002 -5.51613281e-003 2.17053033e-002 4.86485809e-002 + 4.98296209e-002 1.07196525e-001 7.82412142e-002 -2.24886537e-001 + -2.71874666e-001 -9.86494496e-002 1.25687107e-001 1.20658636e-001 + 4.06613201e-002 6.79099038e-002 1.53325468e-001 1.22529693e-001 + -4.00939435e-002 -9.35682282e-002 -5.86220697e-002 4.66423184e-002 + 3.42046581e-002 5.45608578e-003 3.03352084e-002 1.17306061e-001 + 6.92724856e-003 6.97051510e-002 -6.36906028e-002 -6.82732835e-002 + -6.67658150e-002 -3.82032208e-002 -4.55160718e-003 2.07766537e-002 + -2.27734968e-002 1.50575921e-001 1.68935046e-001 5.93921281e-002 + 3.84022444e-002 -7.74628818e-002 -1.84293881e-001 -2.11851209e-001 + -1.05937749e-001 -3.74147631e-002 6.98328465e-002 7.32415840e-002 + -5.12451082e-002 -2.26342697e-002 -6.47475719e-002 + -7.19183385e-002 1.16215441e-002 3.70402820e-002 1.14437707e-001 + 1.41274124e-001 1.09327652e-001 1.11195538e-002 4.78796922e-002 + -1.58648528e-002 -1.43218711e-001 -1.40580505e-001 + -1.93535462e-002 3.69007923e-002 2.15092018e-001 1.11557007e-001 + 7.01970458e-002 8.37866142e-002 1.06217514e-003 -5.64414524e-002 + -2.54340291e-001 -1.62821770e-001 -8.33874047e-002 1.94156289e-001 + 1.27943471e-001 1.40295029e-001 1.18830226e-001 8.28565732e-002 + -1.19834971e-002 -3.01721066e-001 -1.46937102e-001 + -5.95533811e-002 4.30338643e-002 1.03374705e-001 7.56448135e-002 + 8.74492824e-002 6.01874851e-002 1.44489827e-002 -2.03338295e-001 + -2.50614360e-002 -7.31144054e-003 2.15250137e-003 1.94987506e-001 + 1.68845043e-001 2.12656215e-001 1.46948785e-001 -7.68440813e-002 + -2.93781132e-001 -5.76776154e-002 4.03338484e-002 2.39075683e-002 + -5.97934909e-002 -1.29885927e-001 -1.26589000e-001 + -3.76855955e-002 2.65170522e-002 -3.86675261e-002 1.66915301e-002 + 5.94513267e-002 5.82416505e-002 1.35351382e-002 1.81127824e-002 + -7.63457417e-002 -7.28994459e-002 -7.00188205e-002 + -6.26587644e-002 2.41685249e-002 5.79076223e-002 3.81255820e-002 + 6.19256757e-002 7.89657310e-002 9.50866863e-002 -8.64683464e-002 + -1.49970844e-001 -5.56673743e-002 -8.72979015e-002 + -1.47175556e-002 7.43101090e-002 8.60797614e-002 1.55985788e-001 + 2.14912985e-002 -9.33349654e-002 -2.01558098e-001 -8.49207193e-002 + -3.82880718e-002 2.19196803e-003 4.72889692e-002 2.18127109e-002 + 5.54234348e-002 -1.36239314e-002 -8.53878036e-002 -7.84353465e-002 + -2.42070481e-003 3.55904326e-002 7.10110217e-002 1.31019233e-002 + 3.94776687e-002 9.54635814e-002 1.94141995e-002 -5.31869046e-002 + -7.16326460e-002 -6.74846023e-002 -1.08613139e-002 1.03373881e-002 + 9.56162512e-002 6.90407827e-002 1.30511776e-001 -3.20903733e-002 + -8.12360048e-002 -1.25160113e-001 -4.79309559e-002 + -2.53595915e-002 -2.74991523e-002 5.67354448e-002 -8.64330977e-002 + -4.05426919e-002 -1.18163815e-002 1.21157449e-002 4.48282920e-002 + -1.40990047e-002 2.72303261e-002 -5.72508201e-002 -5.24675176e-002 + 5.78021109e-002 5.38130589e-002 4.91915084e-002 -8.24092235e-003 + -1.21752685e-002 -1.86048061e-001 -4.19442961e-003 + -4.51702997e-002 -6.16904087e-002 2.63639372e-002 5.48340641e-002 + 1.80467650e-001 1.82503257e-002 -1.19063795e-001 -2.52490491e-001 + 3.45796533e-002 6.63018879e-003 -6.80198073e-002 -1.09015085e-001 + -5.09467162e-002 3.11759431e-002 6.05070293e-002 7.51647875e-002 + -3.63552049e-002 4.68738116e-002 -5.29397875e-002 4.06734087e-002 + 1.09812282e-002 -1.28183188e-003 1.42601892e-001 8.39142874e-002 + 6.09575920e-002 3.59109230e-002 9.33900848e-002 1.46967163e-002 + 5.96003681e-002 4.65553366e-002 3.99092138e-002 1.34020954e-001 + 4.31154817e-002 -1.50818124e-001 -1.81441188e-001 -1.20096996e-001 + 5.35494834e-002 1.07319340e-001 8.15097243e-002 5.38924746e-002 + 1.01222783e-001 1.68098267e-002 -1.16695330e-001 -8.84555429e-002 + -1.16753303e-001 2.13976875e-002 1.85226664e-001 8.34599063e-002 + 6.94932938e-002 1.57387525e-001 5.72885796e-002 -1.63378790e-001 + -3.25934887e-001 -2.37415254e-001 1.69544891e-001 2.95434535e-001 + 1.90200031e-001 6.92697614e-002 1.96215525e-001 7.86449537e-002 + -7.73894489e-002 -1.47447035e-001 -2.14115113e-001 2.32258309e-002 + 6.89294487e-002 6.43628910e-002 4.43876982e-002 3.01109371e-003 + -6.06745332e-002 -5.05361371e-002 -8.62532035e-002 + -8.73161629e-002 -3.65096107e-002 2.56805439e-002 -7.61494488e-002 + -5.57822622e-002 -5.39904572e-002 3.33092362e-002 1.42641645e-002 + -1.63426735e-002 3.33166751e-003 -3.77073735e-002 1.90925866e-001 + 1.06870249e-001 4.45638895e-002 8.55093673e-002 -2.20268257e-002 + -4.56461944e-002 -7.82874152e-002 -1.21429555e-001 + -1.40921131e-001 6.12106398e-002 4.76668179e-002 -1.11054583e-002 + -5.34441024e-002 5.25335632e-002 5.18498719e-002 5.09985760e-002 + 1.12468628e-002 -1.26223579e-001 -7.37349540e-002 -1.35690719e-001 + -1.25087142e-001 -3.67803015e-002 3.56901325e-002 5.01857772e-002 + 2.41782572e-002 5.45808896e-002 1.14228874e-002 -7.66682029e-002 + -1.17870867e-001 -2.02913493e-001 2.50498429e-002 1.73717126e-001 + 1.22337490e-001 1.39574826e-001 7.24396631e-002 -5.26285060e-002 + -7.60266231e-003 -1.58792377e-001 -1.69140488e-001 + -2.09366437e-002 2.33074185e-002 1.07788809e-001 7.67055154e-002 + 1.04977414e-001 7.36823753e-002 1.73312910e-002 -2.16749892e-001 + -2.14010328e-001 7.24725202e-002 1.69069335e-001 1.91567838e-001 + 1.33366734e-001 1.07279420e-001 2.28628423e-003 <_> 1 - -5.7395776800048726e-001 + -5.7395781820671121e-001 1. diff --git a/traffic.h b/traffic.h index 7030794..36b22df 100644 --- a/traffic.h +++ b/traffic.h @@ -8,7 +8,7 @@ #include #define IS_SAVE 0 //ͷɼϢǷ񱣴 -#define OPENMP 0//ǷʹOPENMPд +#define OPENMP 1//ǷʹOPENMPд #define ISDEBUG_TL 0//ʱмͼϢ(Traffic Light) #define ISDEBUG_TS 0//ʱмͼϢ(Traffic Sign) #define IS_SHOW_RESULT 1//Ƿʾ,ʾͼٶȸ