718c41634f
1.项目后端整体迁移至PaddleOCR-NCNN算法,已通过基本的兼容性测试 2.工程改为使用CMake组织,后续为了更好地兼容第三方库,不再提供QMake工程 3.重整权利声明文件,重整代码工程,确保最小化侵权风险 Log: 切换后端至PaddleOCR-NCNN,切换工程为CMake Change-Id: I4d5d2c5d37505a4a24b389b1a4c5d12f17bfa38c
41 lines
1.5 KiB
Python
41 lines
1.5 KiB
Python
#!/usr/bin/env python
|
|
|
|
# Python 2/3 compatibility
|
|
from __future__ import print_function
|
|
|
|
import cv2 as cv
|
|
import numpy as np
|
|
|
|
from tests_common import NewOpenCVTests
|
|
|
|
class TestGoodFeaturesToTrack_test(NewOpenCVTests):
|
|
def test_goodFeaturesToTrack(self):
|
|
arr = self.get_sample('samples/data/lena.jpg', 0)
|
|
original = arr.copy()
|
|
threshes = [ x / 100. for x in range(1,10) ]
|
|
numPoints = 20000
|
|
|
|
results = dict([(t, cv.goodFeaturesToTrack(arr, numPoints, t, 2, useHarrisDetector=True)) for t in threshes])
|
|
# Check that GoodFeaturesToTrack has not modified input image
|
|
self.assertTrue(arr.tostring() == original.tostring())
|
|
# Check for repeatability
|
|
for i in range(1):
|
|
results2 = dict([(t, cv.goodFeaturesToTrack(arr, numPoints, t, 2, useHarrisDetector=True)) for t in threshes])
|
|
for t in threshes:
|
|
self.assertTrue(len(results2[t]) == len(results[t]))
|
|
for i in range(len(results[t])):
|
|
self.assertTrue(cv.norm(results[t][i][0] - results2[t][i][0]) == 0)
|
|
|
|
for t0,t1 in zip(threshes, threshes[1:]):
|
|
r0 = results[t0]
|
|
r1 = results[t1]
|
|
# Increasing thresh should make result list shorter
|
|
self.assertTrue(len(r0) > len(r1))
|
|
# Increasing thresh should monly truncate result list
|
|
for i in range(len(r1)):
|
|
self.assertTrue(cv.norm(r1[i][0] - r0[i][0])==0)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
NewOpenCVTests.bootstrap()
|