We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 9763873 commit b4e516aCopy full SHA for b4e516a
cv/core/init.lua
@@ -8,6 +8,10 @@ ffi.cdef[[
8
int getNumThreads();
9
10
void setNumThreads(int nthreads);
11
+
12
+struct TensorWrapper copyMakeBorder(struct TensorWrapper src, struct TensorWrapper dst, int top,
13
+ int bottom, int left, int right, int borderType,
14
+ struct ScalarWrapper value);
15
]]
16
17
local C = ffi.load(cv.libPath('core'))
@@ -25,4 +29,18 @@ function cv.setNumThreads(t)
25
29
return C.setNumThreads(cv.argcheck(t, argRules))
26
30
end
27
31
32
+function cv.copyMakeBorder(t)
33
+ local argRules = {
34
+ {"src", required = true, operator = cv.wrap_tensor},
35
+ {"dst", default = nil, operator = cv.wrap_tensor},
36
+ {"top", required = true},
37
+ {"bottom", required = true},
38
+ {"left", required = true},
39
+ {"right", required = true},
40
+ {"borderType", required = true},
41
+ {"value", default = {0,0,0,0} , operator = cv.Scalar}
42
+ }
43
+ return cv.unwrap_tensors(C.copyMakeBorder(cv.argcheck(t, argRules)))
44
+end
45
28
46
return cv
include/core.hpp
@@ -7,4 +7,7 @@ int getNumThreads();
7
}
src/core.cpp
@@ -13,4 +13,13 @@ void setNumThreads(int nthreads)
cv::setNumThreads(nthreads);
18
+ struct ScalarWrapper value)
19
+{
20
+ MatT dstMat = dst.toMatT();
21
+ cv::copyMakeBorder(src.toMat(), dstMat, top, bottom, left, right, borderType, value);
22
+ return TensorWrapper(dstMat);
23
+}
24
} // extern "C"
0 commit comments