00001 #ifndef HOUGH_3D_HPP
00002 #define HOUGH_3D_HPP
00003
00004
00005
00006 #include "model3d/point3D.hpp"
00007 #include "model3d/plane3D.hpp"
00008 #include "model3d/point3DVar.hpp"
00009 #include "model3d/Image3D.hpp"
00010
00011 namespace jafar {
00012 namespace model3d {
00013
00014
00015 void extractMainPlane3dHought(std::vector<Point3D>* pPoints,
00016 float fRhoMax,
00017 float rhoStep,
00018 float angleStep,
00019 Plane3D& plane3D);
00020
00021
00022
00023
00024 void extractPlanes3dHought(std::vector<Point3D>* pPoints,
00025 float fRhoMax,
00026 float rhoStep,
00027 float angleStep,
00028 float fThresholdOfMaxVote,
00029 float fMinDistanceOfTowPlane,
00030 float fMinCosDihedralAngle,
00031 int &N,
00032 std::vector<Plane3D>& vPlane3D,
00033 std::vector<Point3D>& vP1,
00034 std::vector<Point3D>& vP2,
00035 std::vector<Point3D>& vP3,
00036 std::vector<Point3D>& vP4);
00037
00038
00039
00040
00041
00042 void ProgressiveProbabHough(std::vector<Point3D>* pPoints,
00043 float fRhoMax,
00044 float rhoStep,
00045 float angleStep,
00046 float fThresholdOfMaxVote,
00047 float fMinDistanceOfTowPlane,
00048 float fMinCosDihedralAngle,
00049 int &N,
00050 int minPointNumberThreshold,
00051 int minFinalVoteThreshold,
00052 std::vector<Plane3D>& vPlane3D,
00053 std::vector<Point3D>& vP1,
00054 std::vector<Point3D>& vP2,
00055 std::vector<Point3D>& vP3,
00056 std::vector<Point3D>& vP4);
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066 void testing();
00067
00068 }
00069 }
00070
00071
00072 #endif // HOUGH_3D_HPP