BrickOps.h
Go to the documentation of this file.00001
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
00012
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