@article{993c83f8e50143b8aabd8cd4b84c4b17,
title = "Optimal polygonal approximation of digital curves",
abstract = "An algorithm for optimal polygonal approximation is presented. Given a value for the maximal allowed distance between the approximation and the curve, the algorithm finds an approximation with the minimal number of vertices. The city-block metric is used to measure the distance between the approximation and the curve. The algorithm worst case complexity is O(n2), where n is the number of points in the curve. An efficient and optimal solution for the case of closed curves where no initial point is given, is also presented.",
keywords = "Breadth-first-search, City-block metric, Optimal polygonal approximation",
author = "Arie Pikaz and Its'hak Dinstein",
note = "Funding Information: pertieos ft hec urvee, asyA. problemw ithn aturailn terest Section8 . is the detectioonf optimapl olygonaal pproximation. One desiredc riterionfo r optimalitiys : approximation with minimal numbero f verticesd, istantf rom the originalc urveb y no more then a pre-specifievda lue. From approximatiotnh eoryp oint of view, poly- We discussa pproximationwsit h verticecs onstrained gonal representatioonf digitalc urvesi s an approxi-to be a sub-seot f theo riginacl urvep ointsT. hedistance mation constrainebdy a given error criterionT. he is measureadc cordingto the city-blockm etricw hich error criterioni s usuallyo ne of the followingt wo: definesth ed istancoef a pointp = (x, y) from theo rigin UniformE rror( E~),t hati s maximadl istancbee tween by Ixl + \[Yl.T he 'unit circle'o f the city-blockm etric, the approximatioann dthe originacl urve,o r Integral that is the locuso f all the pointsd istan(ta ccordintgo SquareE rror( E2), whichi s thes umo fs quared istances them etricf)r omthe originb y a unit,i s a diamondw ith betweetnh ea pproximatioann dt heo riginacl urveF. or a diagonalle ngtho f 2. The city-blockm etrici s an a given error thresholda, polygonaal pproximation integerv aluedm etric,f ast for computationa,n d in with minimanl umbero f verticeiss requiredo, r alter-commonu se in the area of digitali magep rocessing nativelyg, ivena numbero f verticesa, polygonaal p-and analysisF. or more detailedd iscussiona boutt he proximatiowni tha minimael rrori s requiredI.n many city-blockm etrics eeR hodesil.) Hencef orth,d istance casest hev erticeso f the approximatioanr erestricted standsfo r distancea ccordingto the city-blockm etric. to a sub-seot f the originacl urvep oints.In somec ases The complexityo f the algorithmp resentedin this the verticesa ree venn ot restrictetdo integerc oordi-paperis O(n2).T his complexitiys attractivceo mpared nates.C learly,this complicatetsh e requiredd ata- to the complexityo f other algorithmsfo r optimal structurae ndr equiresre aln umberc omputations. approximationdsis cusseidn Section2 . Basically there are three approachess,t emming In Section2 ,p reviouws orkin relateda reasis surveyed. from thef actt hatp olygonaal pproximatioisn a ctually The generaflr ameworko f the algorithmis depicteidn a segmentatioonf the original curve. The appro- Section3 . Section4 describetsh e' scanf or neighbors' achesa rem erges, plitand split and merge(P avlidisi2, ) part of the algorithmA. n extensiono f the algorithm Section7 .7). Merge algorithmsb, asedo n linear scan, are the simplesta nd the fastest.Thceu rveis scannedw hile t This work was supporteidn part by the Paul Ivanier eachp ointis mergedw ith the currents egmenitf their Universityo f theN egevB, eerS heva8, 4105I,s rael. Centefro r Roboticsa ndP roductioAnu tomationB,e nG urion union is sufficientlcyl oset o a straighlti ne,otherwise § Arie Pikazw asw itht heC omputeSrc ienceD epartment, that point is the beginningo f the next segmentA. n BenG urionU niversityo f theN egev. importanfta milyo f sucha lgorithmiss the MPP (Mini-",
year = "1995",
month = jan,
day = "1",
doi = "10.1016/0031-3203(94)00108-X",
language = "English",
volume = "28",
pages = "373--379",
journal = "Pattern Recognition",
issn = "0031-3203",
publisher = "Elsevier Ltd.",
number = "3",
}