Tekkotsu Homepage
Demos
Overview
Downloads
Dev. Resources
Reference
Credits

BrickOps.h

Go to the documentation of this file.
00001 //-*-c++-*-
00002 #ifndef _BRICK_OPS_H_
00003 #define _BRICK_OPS_H_
00004 
00005 #include "Point.h"
00006 #include "Sketch.h"
00007 #include "BlobData.h"
00008 
00009 namespace DualCoding {
00010 
00011   /* A collection of functions used in extracting corners from blobs 
00012    * and extracting bricks and pyramids from the image. 
00013    */
00014   
00015   
00016   Point findEdgePoint(Point start, Point end, Sketch<bool>& rendering);
00017   
00018   int findRadialDistancesFromPoint(Point center, float radius, 
00019            Sketch<bool>& rendering,
00020            float distances[], std::vector<Point>& points);
00021   
00022   void takeDerivative(float x[], float dx[], int len) ;
00023   
00024   void drawHist(float distances[], unsigned int len, Sketch<bool>& parent) ;
00025   
00026   void applyGaussian(float x[], float gx[], int len);
00027 
00028   float getBoundingQuadrilateralScore(BlobData &blob, std::vector<Point>& corners, Sketch<bool> edgeImage, 
00029               int& borderCount, ShapeSpace &space);
00030 
00031   float getBoundingQuadrilateralInteriorPointRatio(BlobData &blob, 
00032                std::vector<Point>& corners, 
00033                ShapeSpace &space);
00034 
00035   float getQuadrilateralArea(std::vector<Point>& corners);
00036 
00037   int countBorderPixelFit(BlobData &blob, const std::vector<Point> &corners, 
00038         Sketch<bool> edges, ShapeSpace &space);
00039      
00040   int pickMove(std::vector<float> scores, float weight);
00041 }
00042 
00043 #endif /* _BRICK_OPS_H_ */

DualCoding 5.1CVS
Generated Mon May 9 04:56:25 2016 by Doxygen 1.6.3