Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Tetragramm
GitHub Repository: Tetragramm/opencv
Path: blob/master/modules/python/test/test_shape.py
16337 views
1
#!/usr/bin/env python
2
import cv2 as cv
3
4
from tests_common import NewOpenCVTests
5
6
class shape_test(NewOpenCVTests):
7
8
def test_computeDistance(self):
9
10
a = self.get_sample('samples/data/shape_sample/1.png', cv.IMREAD_GRAYSCALE)
11
b = self.get_sample('samples/data/shape_sample/2.png', cv.IMREAD_GRAYSCALE)
12
13
ca, _ = cv.findContours(a, cv.RETR_CCOMP, cv.CHAIN_APPROX_TC89_KCOS)
14
cb, _ = cv.findContours(b, cv.RETR_CCOMP, cv.CHAIN_APPROX_TC89_KCOS)
15
16
hd = cv.createHausdorffDistanceExtractor()
17
sd = cv.createShapeContextDistanceExtractor()
18
19
d1 = hd.computeDistance(ca[0], cb[0])
20
d2 = sd.computeDistance(ca[0], cb[0])
21
22
self.assertAlmostEqual(d1, 26.4196891785, 3, "HausdorffDistanceExtractor")
23
self.assertAlmostEqual(d2, 0.25804194808, 3, "ShapeContextDistanceExtractor")
24
25
if __name__ == '__main__':
26
NewOpenCVTests.bootstrap()
27
28