mirror of
https://github.com/opencv/opencv.git
synced 2025-08-06 14:36:36 +08:00
Stream default to Stream::Null() when no default in function prototype
this corrects bug #16592 where a Stream is created at each GpuMat::load(arr,stream) call a correct solution would have been to add a default to GpuMat::load but due to circular dependence between Stream and GpuMat, this is not possible add test_cuda_upload_download_stream to test_cuda.py
This commit is contained in:
parent
1dacea3a20
commit
6a4bfc0863
@ -211,6 +211,7 @@ simple_argtype_mapping = {
|
||||
"double": ArgTypeInfo("double", FormatStrings.double, "0", True),
|
||||
"c_string": ArgTypeInfo("char*", FormatStrings.string, '(char*)""'),
|
||||
"string": ArgTypeInfo("std::string", FormatStrings.object, None, True),
|
||||
"Stream": ArgTypeInfo("Stream", FormatStrings.object, 'Stream::Null()', True),
|
||||
}
|
||||
|
||||
|
||||
|
@ -26,6 +26,15 @@ class cuda_test(NewOpenCVTests):
|
||||
|
||||
self.assertTrue(np.allclose(cuMat.download(), npMat))
|
||||
|
||||
def test_cuda_upload_download_stream(self):
|
||||
stream = cv.cuda_Stream()
|
||||
npMat = (np.random.random((128, 128, 3)) * 255).astype(np.uint8)
|
||||
cuMat = cv.cuda_GpuMat(128,128, cv.CV_8UC3)
|
||||
cuMat.upload(npMat, stream)
|
||||
npMat2 = cuMat.download(stream=stream)
|
||||
stream.waitForCompletion()
|
||||
self.assertTrue(np.allclose(npMat2, npMat))
|
||||
|
||||
def test_cuda_interop(self):
|
||||
npMat = (np.random.random((128, 128, 3)) * 255).astype(np.uint8)
|
||||
cuMat = cv.cuda_GpuMat()
|
||||
|
Loading…
Reference in New Issue
Block a user