mirror of
https://github.com/opencv/opencv_contrib.git
synced 2025-10-20 21:40:49 +08:00

Add python bindings to cudaobjdetect, cudawarping and cudaarithm * Overload cudawarping functions to generate correct python bindings. Add python wrapper to convolution funciton. * Added shift and hog. * Moved cuda python tests to this repo and added python bindings to SURF. * Fix SURF documentation and allow meanshiftsegmention to create GpuMat internaly if not passed for python bindings consistency. * Add correct cuda SURF test case. * Fix python mog and mog2 python bindings, add tests and correct cudawarping documentation. * Updated KeyPoints in cuda::ORB::Convert python wrapper to be an output argument. * Add changes suggested by alalek * Added changes suggested by asmorkalov
38 lines
1.3 KiB
Python
38 lines
1.3 KiB
Python
#!/usr/bin/env python
|
|
import os
|
|
import cv2 as cv
|
|
import numpy as np
|
|
|
|
from tests_common import NewOpenCVTests, unittest
|
|
|
|
class cudaobjdetect_test(NewOpenCVTests):
|
|
def setUp(self):
|
|
super(cudaobjdetect_test, self).setUp()
|
|
if not cv.cuda.getCudaEnabledDeviceCount():
|
|
self.skipTest("No CUDA-capable device is detected")
|
|
|
|
@unittest.skipIf('OPENCV_TEST_DATA_PATH' not in os.environ,
|
|
"OPENCV_TEST_DATA_PATH is not defined")
|
|
def test_hog(self):
|
|
img_path = os.environ['OPENCV_TEST_DATA_PATH'] + '/gpu/caltech/image_00000009_0.png'
|
|
npMat = cv.cvtColor(cv.imread(img_path),cv.COLOR_BGR2BGRA)
|
|
|
|
cuMat = cv.cuda_GpuMat(npMat)
|
|
cuHog = cv.cuda.HOG_create()
|
|
cuHog.setSVMDetector(cuHog.getDefaultPeopleDetector())
|
|
|
|
loc, conf = cuHog.detect(cuMat)
|
|
self.assertTrue(len(loc) == len(conf) and len(loc) > 0 and len(loc[0]) == 2)
|
|
|
|
loc = cuHog.detectWithoutConf(cuMat)
|
|
self.assertTrue(len(loc) > 0 and len(loc[0]) == 2)
|
|
|
|
loc = cuHog.detectMultiScaleWithoutConf(cuMat)
|
|
self.assertTrue(len(loc) > 0 and len(loc[0]) == 4)
|
|
|
|
cuHog.setGroupThreshold(0)
|
|
loc, conf = cuHog.detectMultiScale(cuMat)
|
|
self.assertTrue(len(loc) == len(conf) and len(loc) > 0 and len(loc[0]) == 4)
|
|
|
|
if __name__ == '__main__':
|
|
NewOpenCVTests.bootstrap() |