Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
O
opencv
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
opencv
Commits
43d5e2d8
Commit
43d5e2d8
authored
12 years ago
by
Vladislav Vinogradov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
removed gpu BORDER_* constants
parent
d5ee9312
Hide whitespace changes
Inline
Side-by-side
Showing
21 changed files
with
196 additions
and
263 deletions
+196
-263
common.hpp
modules/core/include/opencv2/core/cuda/common.hpp
+0
-9
gpu_private.hpp
modules/core/include/opencv2/core/gpu_private.hpp
+0
-4
gpumat.cpp
modules/core/src/gpumat.cpp
+0
-30
arithm.cpp
modules/gpuarithm/src/arithm.cpp
+3
-6
copy_make_border.cu
modules/gpuarithm/src/cuda/copy_make_border.cu
+3
-3
column_filter.hpp
modules/gpufilters/src/cuda/column_filter.hpp
+67
-67
filter2d.cu
modules/gpufilters/src/cuda/filter2d.cu
+3
-3
row_filter.hpp
modules/gpufilters/src/cuda/row_filter.hpp
+67
-67
filtering.cpp
modules/gpufilters/src/filtering.cpp
+3
-12
bilateral_filter.cpp
modules/gpuimgproc/src/bilateral_filter.cpp
+1
-4
bilateral_filter.cu
modules/gpuimgproc/src/cuda/bilateral_filter.cu
+2
-2
imgproc.cu
modules/gpuimgproc/src/cuda/imgproc.cu
+6
-6
imgproc.cpp
modules/gpuimgproc/src/imgproc.cpp
+2
-8
optical_flow_farneback.cu
modules/gpuoptflow/src/cuda/optical_flow_farneback.cu
+12
-3
optical_flow_farneback.cpp
modules/gpuoptflow/src/optical_flow_farneback.cpp
+3
-3
remap.cu
modules/gpuwarping/src/cuda/remap.cu
+9
-9
warp.cu
modules/gpuwarping/src/cuda/warp.cu
+9
-9
remap.cpp
modules/gpuwarping/src/remap.cpp
+1
-4
warp.cpp
modules/gpuwarping/src/warp.cpp
+2
-8
nlm.cu
modules/photo/src/cuda/nlm.cu
+2
-2
denoising_gpu.cpp
modules/photo/src/denoising_gpu.cpp
+1
-4
No files found.
modules/core/include/opencv2/core/cuda/common.hpp
View file @
43d5e2d8
...
...
@@ -87,15 +87,6 @@ namespace cv { namespace gpu
namespace
cv
{
namespace
gpu
{
enum
{
BORDER_REFLECT101_GPU
=
0
,
BORDER_REPLICATE_GPU
,
BORDER_CONSTANT_GPU
,
BORDER_REFLECT_GPU
,
BORDER_WRAP_GPU
};
namespace
cudev
{
__host__
__device__
__forceinline__
int
divUp
(
int
total
,
int
grain
)
...
...
This diff is collapsed.
Click to expand it.
modules/core/include/opencv2/core/gpu_private.hpp
View file @
43d5e2d8
...
...
@@ -74,10 +74,6 @@
namespace
cv
{
namespace
gpu
{
CV_EXPORTS
cv
::
String
getNppErrorMessage
(
int
code
);
CV_EXPORTS
cv
::
String
getCudaDriverApiErrorMessage
(
int
code
);
// Converts CPU border extrapolation mode into GPU internal analogue.
// Returns true if the GPU analogue exists, false otherwise.
CV_EXPORTS
bool
tryConvertToGpuBorderType
(
int
cpuBorderType
,
int
&
gpuBorderType
);
}}
#ifndef HAVE_CUDA
...
...
This diff is collapsed.
Click to expand it.
modules/core/src/gpumat.cpp
View file @
43d5e2d8
...
...
@@ -1678,33 +1678,3 @@ String cv::gpu::getCudaDriverApiErrorMessage(int code)
return
getErrorString
(
code
,
cu_errors
,
cu_errors_num
);
#endif
}
bool
cv
::
gpu
::
tryConvertToGpuBorderType
(
int
cpuBorderType
,
int
&
gpuBorderType
)
{
#ifndef HAVE_CUDA
(
void
)
cpuBorderType
;
(
void
)
gpuBorderType
;
return
false
;
#else
switch
(
cpuBorderType
)
{
case
IPL_BORDER_REFLECT_101
:
gpuBorderType
=
cv
::
gpu
::
BORDER_REFLECT101_GPU
;
return
true
;
case
IPL_BORDER_REPLICATE
:
gpuBorderType
=
cv
::
gpu
::
BORDER_REPLICATE_GPU
;
return
true
;
case
IPL_BORDER_CONSTANT
:
gpuBorderType
=
cv
::
gpu
::
BORDER_CONSTANT_GPU
;
return
true
;
case
IPL_BORDER_REFLECT
:
gpuBorderType
=
cv
::
gpu
::
BORDER_REFLECT_GPU
;
return
true
;
case
IPL_BORDER_WRAP
:
gpuBorderType
=
cv
::
gpu
::
BORDER_WRAP_GPU
;
return
true
;
default
:
return
false
;
};
#endif
}
This diff is collapsed.
Click to expand it.
modules/gpuarithm/src/arithm.cpp
View file @
43d5e2d8
...
...
@@ -696,13 +696,13 @@ typedef Npp32s Npp32s_a;
void
cv
::
gpu
::
copyMakeBorder
(
const
GpuMat
&
src
,
GpuMat
&
dst
,
int
top
,
int
bottom
,
int
left
,
int
right
,
int
borderType
,
const
Scalar
&
value
,
Stream
&
s
)
{
CV_Assert
(
src
.
depth
()
<=
CV_32F
&&
src
.
channels
()
<=
4
);
CV_Assert
(
borderType
==
IPL_BORDER_REFLECT_101
||
borderType
==
IPL_BORDER_REPLICATE
||
borderType
==
IPL_BORDER_CONSTANT
||
borderType
==
IPL_BORDER_REFLECT
||
borderType
==
IPL_
BORDER_WRAP
);
CV_Assert
(
borderType
==
BORDER_REFLECT_101
||
borderType
==
BORDER_REPLICATE
||
borderType
==
BORDER_CONSTANT
||
borderType
==
BORDER_REFLECT
||
borderType
==
BORDER_WRAP
);
dst
.
create
(
src
.
rows
+
top
+
bottom
,
src
.
cols
+
left
+
right
,
src
.
type
());
cudaStream_t
stream
=
StreamAccessor
::
getStream
(
s
);
if
(
borderType
==
IPL_
BORDER_CONSTANT
&&
(
src
.
type
()
==
CV_8UC1
||
src
.
type
()
==
CV_8UC4
||
src
.
type
()
==
CV_32SC1
||
src
.
type
()
==
CV_32FC1
))
if
(
borderType
==
BORDER_CONSTANT
&&
(
src
.
type
()
==
CV_8UC1
||
src
.
type
()
==
CV_8UC4
||
src
.
type
()
==
CV_32SC1
||
src
.
type
()
==
CV_32FC1
))
{
NppiSize
srcsz
;
srcsz
.
width
=
src
.
cols
;
...
...
@@ -766,10 +766,7 @@ void cv::gpu::copyMakeBorder(const GpuMat& src, GpuMat& dst, int top, int bottom
caller_t
func
=
callers
[
src
.
depth
()][
src
.
channels
()
-
1
];
CV_Assert
(
func
!=
0
);
int
gpuBorderType
;
CV_Assert
(
tryConvertToGpuBorderType
(
borderType
,
gpuBorderType
));
func
(
src
,
dst
,
top
,
left
,
gpuBorderType
,
value
,
stream
);
func
(
src
,
dst
,
top
,
left
,
borderType
,
value
,
stream
);
}
}
...
...
This diff is collapsed.
Click to expand it.
modules/gpuarithm/src/cuda/copy_make_border.cu
View file @
43d5e2d8
...
...
@@ -86,11 +86,11 @@ namespace cv { namespace gpu { namespace cudev
static const caller_t callers[5] =
{
CopyMakeBorderDispatcher<BrdReflect101, vec_type>::call,
CopyMakeBorderDispatcher<BrdReplicate, vec_type>::call,
CopyMakeBorderDispatcher<BrdConstant, vec_type>::call,
CopyMakeBorderDispatcher<BrdReplicate, vec_type>::call,
CopyMakeBorderDispatcher<BrdReflect, vec_type>::call,
CopyMakeBorderDispatcher<BrdWrap, vec_type>::call
CopyMakeBorderDispatcher<BrdWrap, vec_type>::call,
CopyMakeBorderDispatcher<BrdReflect101, vec_type>::call
};
callers[borderMode](PtrStepSz<vec_type>(src), PtrStepSz<vec_type>(dst), top, left, borderValue, stream);
...
...
This diff is collapsed.
Click to expand it.
modules/gpufilters/src/cuda/column_filter.hpp
View file @
43d5e2d8
...
...
@@ -187,38 +187,38 @@ namespace filter
{
{
0
,
column_filter
::
caller
<
1
,
T
,
D
,
BrdCol
Reflect101
>
,
column_filter
::
caller
<
2
,
T
,
D
,
BrdCol
Reflect101
>
,
column_filter
::
caller
<
3
,
T
,
D
,
BrdCol
Reflect101
>
,
column_filter
::
caller
<
4
,
T
,
D
,
BrdCol
Reflect101
>
,
column_filter
::
caller
<
5
,
T
,
D
,
BrdCol
Reflect101
>
,
column_filter
::
caller
<
6
,
T
,
D
,
BrdCol
Reflect101
>
,
column_filter
::
caller
<
7
,
T
,
D
,
BrdCol
Reflect101
>
,
column_filter
::
caller
<
8
,
T
,
D
,
BrdCol
Reflect101
>
,
column_filter
::
caller
<
9
,
T
,
D
,
BrdCol
Reflect101
>
,
column_filter
::
caller
<
10
,
T
,
D
,
BrdCol
Reflect101
>
,
column_filter
::
caller
<
11
,
T
,
D
,
BrdCol
Reflect101
>
,
column_filter
::
caller
<
12
,
T
,
D
,
BrdCol
Reflect101
>
,
column_filter
::
caller
<
13
,
T
,
D
,
BrdCol
Reflect101
>
,
column_filter
::
caller
<
14
,
T
,
D
,
BrdCol
Reflect101
>
,
column_filter
::
caller
<
15
,
T
,
D
,
BrdCol
Reflect101
>
,
column_filter
::
caller
<
16
,
T
,
D
,
BrdCol
Reflect101
>
,
column_filter
::
caller
<
17
,
T
,
D
,
BrdCol
Reflect101
>
,
column_filter
::
caller
<
18
,
T
,
D
,
BrdCol
Reflect101
>
,
column_filter
::
caller
<
19
,
T
,
D
,
BrdCol
Reflect101
>
,
column_filter
::
caller
<
20
,
T
,
D
,
BrdCol
Reflect101
>
,
column_filter
::
caller
<
21
,
T
,
D
,
BrdCol
Reflect101
>
,
column_filter
::
caller
<
22
,
T
,
D
,
BrdCol
Reflect101
>
,
column_filter
::
caller
<
23
,
T
,
D
,
BrdCol
Reflect101
>
,
column_filter
::
caller
<
24
,
T
,
D
,
BrdCol
Reflect101
>
,
column_filter
::
caller
<
25
,
T
,
D
,
BrdCol
Reflect101
>
,
column_filter
::
caller
<
26
,
T
,
D
,
BrdCol
Reflect101
>
,
column_filter
::
caller
<
27
,
T
,
D
,
BrdCol
Reflect101
>
,
column_filter
::
caller
<
28
,
T
,
D
,
BrdCol
Reflect101
>
,
column_filter
::
caller
<
29
,
T
,
D
,
BrdCol
Reflect101
>
,
column_filter
::
caller
<
30
,
T
,
D
,
BrdCol
Reflect101
>
,
column_filter
::
caller
<
31
,
T
,
D
,
BrdCol
Reflect101
>
,
column_filter
::
caller
<
32
,
T
,
D
,
BrdCol
Reflect101
>
column_filter
::
caller
<
1
,
T
,
D
,
BrdCol
Constant
>
,
column_filter
::
caller
<
2
,
T
,
D
,
BrdCol
Constant
>
,
column_filter
::
caller
<
3
,
T
,
D
,
BrdCol
Constant
>
,
column_filter
::
caller
<
4
,
T
,
D
,
BrdCol
Constant
>
,
column_filter
::
caller
<
5
,
T
,
D
,
BrdCol
Constant
>
,
column_filter
::
caller
<
6
,
T
,
D
,
BrdCol
Constant
>
,
column_filter
::
caller
<
7
,
T
,
D
,
BrdCol
Constant
>
,
column_filter
::
caller
<
8
,
T
,
D
,
BrdCol
Constant
>
,
column_filter
::
caller
<
9
,
T
,
D
,
BrdCol
Constant
>
,
column_filter
::
caller
<
10
,
T
,
D
,
BrdCol
Constant
>
,
column_filter
::
caller
<
11
,
T
,
D
,
BrdCol
Constant
>
,
column_filter
::
caller
<
12
,
T
,
D
,
BrdCol
Constant
>
,
column_filter
::
caller
<
13
,
T
,
D
,
BrdCol
Constant
>
,
column_filter
::
caller
<
14
,
T
,
D
,
BrdCol
Constant
>
,
column_filter
::
caller
<
15
,
T
,
D
,
BrdCol
Constant
>
,
column_filter
::
caller
<
16
,
T
,
D
,
BrdCol
Constant
>
,
column_filter
::
caller
<
17
,
T
,
D
,
BrdCol
Constant
>
,
column_filter
::
caller
<
18
,
T
,
D
,
BrdCol
Constant
>
,
column_filter
::
caller
<
19
,
T
,
D
,
BrdCol
Constant
>
,
column_filter
::
caller
<
20
,
T
,
D
,
BrdCol
Constant
>
,
column_filter
::
caller
<
21
,
T
,
D
,
BrdCol
Constant
>
,
column_filter
::
caller
<
22
,
T
,
D
,
BrdCol
Constant
>
,
column_filter
::
caller
<
23
,
T
,
D
,
BrdCol
Constant
>
,
column_filter
::
caller
<
24
,
T
,
D
,
BrdCol
Constant
>
,
column_filter
::
caller
<
25
,
T
,
D
,
BrdCol
Constant
>
,
column_filter
::
caller
<
26
,
T
,
D
,
BrdCol
Constant
>
,
column_filter
::
caller
<
27
,
T
,
D
,
BrdCol
Constant
>
,
column_filter
::
caller
<
28
,
T
,
D
,
BrdCol
Constant
>
,
column_filter
::
caller
<
29
,
T
,
D
,
BrdCol
Constant
>
,
column_filter
::
caller
<
30
,
T
,
D
,
BrdCol
Constant
>
,
column_filter
::
caller
<
31
,
T
,
D
,
BrdCol
Constant
>
,
column_filter
::
caller
<
32
,
T
,
D
,
BrdCol
Constant
>
},
{
0
,
...
...
@@ -255,41 +255,6 @@ namespace filter
column_filter
::
caller
<
31
,
T
,
D
,
BrdColReplicate
>
,
column_filter
::
caller
<
32
,
T
,
D
,
BrdColReplicate
>
},
{
0
,
column_filter
::
caller
<
1
,
T
,
D
,
BrdColConstant
>
,
column_filter
::
caller
<
2
,
T
,
D
,
BrdColConstant
>
,
column_filter
::
caller
<
3
,
T
,
D
,
BrdColConstant
>
,
column_filter
::
caller
<
4
,
T
,
D
,
BrdColConstant
>
,
column_filter
::
caller
<
5
,
T
,
D
,
BrdColConstant
>
,
column_filter
::
caller
<
6
,
T
,
D
,
BrdColConstant
>
,
column_filter
::
caller
<
7
,
T
,
D
,
BrdColConstant
>
,
column_filter
::
caller
<
8
,
T
,
D
,
BrdColConstant
>
,
column_filter
::
caller
<
9
,
T
,
D
,
BrdColConstant
>
,
column_filter
::
caller
<
10
,
T
,
D
,
BrdColConstant
>
,
column_filter
::
caller
<
11
,
T
,
D
,
BrdColConstant
>
,
column_filter
::
caller
<
12
,
T
,
D
,
BrdColConstant
>
,
column_filter
::
caller
<
13
,
T
,
D
,
BrdColConstant
>
,
column_filter
::
caller
<
14
,
T
,
D
,
BrdColConstant
>
,
column_filter
::
caller
<
15
,
T
,
D
,
BrdColConstant
>
,
column_filter
::
caller
<
16
,
T
,
D
,
BrdColConstant
>
,
column_filter
::
caller
<
17
,
T
,
D
,
BrdColConstant
>
,
column_filter
::
caller
<
18
,
T
,
D
,
BrdColConstant
>
,
column_filter
::
caller
<
19
,
T
,
D
,
BrdColConstant
>
,
column_filter
::
caller
<
20
,
T
,
D
,
BrdColConstant
>
,
column_filter
::
caller
<
21
,
T
,
D
,
BrdColConstant
>
,
column_filter
::
caller
<
22
,
T
,
D
,
BrdColConstant
>
,
column_filter
::
caller
<
23
,
T
,
D
,
BrdColConstant
>
,
column_filter
::
caller
<
24
,
T
,
D
,
BrdColConstant
>
,
column_filter
::
caller
<
25
,
T
,
D
,
BrdColConstant
>
,
column_filter
::
caller
<
26
,
T
,
D
,
BrdColConstant
>
,
column_filter
::
caller
<
27
,
T
,
D
,
BrdColConstant
>
,
column_filter
::
caller
<
28
,
T
,
D
,
BrdColConstant
>
,
column_filter
::
caller
<
29
,
T
,
D
,
BrdColConstant
>
,
column_filter
::
caller
<
30
,
T
,
D
,
BrdColConstant
>
,
column_filter
::
caller
<
31
,
T
,
D
,
BrdColConstant
>
,
column_filter
::
caller
<
32
,
T
,
D
,
BrdColConstant
>
},
{
0
,
column_filter
::
caller
<
1
,
T
,
D
,
BrdColReflect
>
,
...
...
@@ -359,6 +324,41 @@ namespace filter
column_filter
::
caller
<
30
,
T
,
D
,
BrdColWrap
>
,
column_filter
::
caller
<
31
,
T
,
D
,
BrdColWrap
>
,
column_filter
::
caller
<
32
,
T
,
D
,
BrdColWrap
>
},
{
0
,
column_filter
::
caller
<
1
,
T
,
D
,
BrdColReflect101
>
,
column_filter
::
caller
<
2
,
T
,
D
,
BrdColReflect101
>
,
column_filter
::
caller
<
3
,
T
,
D
,
BrdColReflect101
>
,
column_filter
::
caller
<
4
,
T
,
D
,
BrdColReflect101
>
,
column_filter
::
caller
<
5
,
T
,
D
,
BrdColReflect101
>
,
column_filter
::
caller
<
6
,
T
,
D
,
BrdColReflect101
>
,
column_filter
::
caller
<
7
,
T
,
D
,
BrdColReflect101
>
,
column_filter
::
caller
<
8
,
T
,
D
,
BrdColReflect101
>
,
column_filter
::
caller
<
9
,
T
,
D
,
BrdColReflect101
>
,
column_filter
::
caller
<
10
,
T
,
D
,
BrdColReflect101
>
,
column_filter
::
caller
<
11
,
T
,
D
,
BrdColReflect101
>
,
column_filter
::
caller
<
12
,
T
,
D
,
BrdColReflect101
>
,
column_filter
::
caller
<
13
,
T
,
D
,
BrdColReflect101
>
,
column_filter
::
caller
<
14
,
T
,
D
,
BrdColReflect101
>
,
column_filter
::
caller
<
15
,
T
,
D
,
BrdColReflect101
>
,
column_filter
::
caller
<
16
,
T
,
D
,
BrdColReflect101
>
,
column_filter
::
caller
<
17
,
T
,
D
,
BrdColReflect101
>
,
column_filter
::
caller
<
18
,
T
,
D
,
BrdColReflect101
>
,
column_filter
::
caller
<
19
,
T
,
D
,
BrdColReflect101
>
,
column_filter
::
caller
<
20
,
T
,
D
,
BrdColReflect101
>
,
column_filter
::
caller
<
21
,
T
,
D
,
BrdColReflect101
>
,
column_filter
::
caller
<
22
,
T
,
D
,
BrdColReflect101
>
,
column_filter
::
caller
<
23
,
T
,
D
,
BrdColReflect101
>
,
column_filter
::
caller
<
24
,
T
,
D
,
BrdColReflect101
>
,
column_filter
::
caller
<
25
,
T
,
D
,
BrdColReflect101
>
,
column_filter
::
caller
<
26
,
T
,
D
,
BrdColReflect101
>
,
column_filter
::
caller
<
27
,
T
,
D
,
BrdColReflect101
>
,
column_filter
::
caller
<
28
,
T
,
D
,
BrdColReflect101
>
,
column_filter
::
caller
<
29
,
T
,
D
,
BrdColReflect101
>
,
column_filter
::
caller
<
30
,
T
,
D
,
BrdColReflect101
>
,
column_filter
::
caller
<
31
,
T
,
D
,
BrdColReflect101
>
,
column_filter
::
caller
<
32
,
T
,
D
,
BrdColReflect101
>
}
};
...
...
This diff is collapsed.
Click to expand it.
modules/gpufilters/src/cuda/filter2d.cu
View file @
43d5e2d8
...
...
@@ -131,11 +131,11 @@ namespace cv { namespace gpu { namespace cudev
typedef void (*func_t)(const PtrStepSz<T> srcWhole, int xoff, int yoff, PtrStepSz<D> dst, int kWidth, int kHeight, int anchorX, int anchorY, const float* borderValue, cudaStream_t stream);
static const func_t funcs[] =
{
Filter2DCaller<T, D, BrdReflect101>::call,
Filter2DCaller<T, D, BrdReplicate>::call,
Filter2DCaller<T, D, BrdConstant>::call,
Filter2DCaller<T, D, BrdReplicate>::call,
Filter2DCaller<T, D, BrdReflect>::call,
Filter2DCaller<T, D, BrdWrap>::call
Filter2DCaller<T, D, BrdWrap>::call,
Filter2DCaller<T, D, BrdReflect101>::call
};
if (stream == 0)
...
...
This diff is collapsed.
Click to expand it.
modules/gpufilters/src/cuda/row_filter.hpp
View file @
43d5e2d8
...
...
@@ -186,38 +186,38 @@ namespace filter
{
{
0
,
row_filter
::
caller
<
1
,
T
,
D
,
BrdRow
Reflect101
>
,
row_filter
::
caller
<
2
,
T
,
D
,
BrdRow
Reflect101
>
,
row_filter
::
caller
<
3
,
T
,
D
,
BrdRow
Reflect101
>
,
row_filter
::
caller
<
4
,
T
,
D
,
BrdRow
Reflect101
>
,
row_filter
::
caller
<
5
,
T
,
D
,
BrdRow
Reflect101
>
,
row_filter
::
caller
<
6
,
T
,
D
,
BrdRow
Reflect101
>
,
row_filter
::
caller
<
7
,
T
,
D
,
BrdRow
Reflect101
>
,
row_filter
::
caller
<
8
,
T
,
D
,
BrdRow
Reflect101
>
,
row_filter
::
caller
<
9
,
T
,
D
,
BrdRow
Reflect101
>
,
row_filter
::
caller
<
10
,
T
,
D
,
BrdRow
Reflect101
>
,
row_filter
::
caller
<
11
,
T
,
D
,
BrdRow
Reflect101
>
,
row_filter
::
caller
<
12
,
T
,
D
,
BrdRow
Reflect101
>
,
row_filter
::
caller
<
13
,
T
,
D
,
BrdRow
Reflect101
>
,
row_filter
::
caller
<
14
,
T
,
D
,
BrdRow
Reflect101
>
,
row_filter
::
caller
<
15
,
T
,
D
,
BrdRow
Reflect101
>
,
row_filter
::
caller
<
16
,
T
,
D
,
BrdRow
Reflect101
>
,
row_filter
::
caller
<
17
,
T
,
D
,
BrdRow
Reflect101
>
,
row_filter
::
caller
<
18
,
T
,
D
,
BrdRow
Reflect101
>
,
row_filter
::
caller
<
19
,
T
,
D
,
BrdRow
Reflect101
>
,
row_filter
::
caller
<
20
,
T
,
D
,
BrdRow
Reflect101
>
,
row_filter
::
caller
<
21
,
T
,
D
,
BrdRow
Reflect101
>
,
row_filter
::
caller
<
22
,
T
,
D
,
BrdRow
Reflect101
>
,
row_filter
::
caller
<
23
,
T
,
D
,
BrdRow
Reflect101
>
,
row_filter
::
caller
<
24
,
T
,
D
,
BrdRow
Reflect101
>
,
row_filter
::
caller
<
25
,
T
,
D
,
BrdRow
Reflect101
>
,
row_filter
::
caller
<
26
,
T
,
D
,
BrdRow
Reflect101
>
,
row_filter
::
caller
<
27
,
T
,
D
,
BrdRow
Reflect101
>
,
row_filter
::
caller
<
28
,
T
,
D
,
BrdRow
Reflect101
>
,
row_filter
::
caller
<
29
,
T
,
D
,
BrdRow
Reflect101
>
,
row_filter
::
caller
<
30
,
T
,
D
,
BrdRow
Reflect101
>
,
row_filter
::
caller
<
31
,
T
,
D
,
BrdRow
Reflect101
>
,
row_filter
::
caller
<
32
,
T
,
D
,
BrdRow
Reflect101
>
row_filter
::
caller
<
1
,
T
,
D
,
BrdRow
Constant
>
,
row_filter
::
caller
<
2
,
T
,
D
,
BrdRow
Constant
>
,
row_filter
::
caller
<
3
,
T
,
D
,
BrdRow
Constant
>
,
row_filter
::
caller
<
4
,
T
,
D
,
BrdRow
Constant
>
,
row_filter
::
caller
<
5
,
T
,
D
,
BrdRow
Constant
>
,
row_filter
::
caller
<
6
,
T
,
D
,
BrdRow
Constant
>
,
row_filter
::
caller
<
7
,
T
,
D
,
BrdRow
Constant
>
,
row_filter
::
caller
<
8
,
T
,
D
,
BrdRow
Constant
>
,
row_filter
::
caller
<
9
,
T
,
D
,
BrdRow
Constant
>
,
row_filter
::
caller
<
10
,
T
,
D
,
BrdRow
Constant
>
,
row_filter
::
caller
<
11
,
T
,
D
,
BrdRow
Constant
>
,
row_filter
::
caller
<
12
,
T
,
D
,
BrdRow
Constant
>
,
row_filter
::
caller
<
13
,
T
,
D
,
BrdRow
Constant
>
,
row_filter
::
caller
<
14
,
T
,
D
,
BrdRow
Constant
>
,
row_filter
::
caller
<
15
,
T
,
D
,
BrdRow
Constant
>
,
row_filter
::
caller
<
16
,
T
,
D
,
BrdRow
Constant
>
,
row_filter
::
caller
<
17
,
T
,
D
,
BrdRow
Constant
>
,
row_filter
::
caller
<
18
,
T
,
D
,
BrdRow
Constant
>
,
row_filter
::
caller
<
19
,
T
,
D
,
BrdRow
Constant
>
,
row_filter
::
caller
<
20
,
T
,
D
,
BrdRow
Constant
>
,
row_filter
::
caller
<
21
,
T
,
D
,
BrdRow
Constant
>
,
row_filter
::
caller
<
22
,
T
,
D
,
BrdRow
Constant
>
,
row_filter
::
caller
<
23
,
T
,
D
,
BrdRow
Constant
>
,
row_filter
::
caller
<
24
,
T
,
D
,
BrdRow
Constant
>
,
row_filter
::
caller
<
25
,
T
,
D
,
BrdRow
Constant
>
,
row_filter
::
caller
<
26
,
T
,
D
,
BrdRow
Constant
>
,
row_filter
::
caller
<
27
,
T
,
D
,
BrdRow
Constant
>
,
row_filter
::
caller
<
28
,
T
,
D
,
BrdRow
Constant
>
,
row_filter
::
caller
<
29
,
T
,
D
,
BrdRow
Constant
>
,
row_filter
::
caller
<
30
,
T
,
D
,
BrdRow
Constant
>
,
row_filter
::
caller
<
31
,
T
,
D
,
BrdRow
Constant
>
,
row_filter
::
caller
<
32
,
T
,
D
,
BrdRow
Constant
>
},
{
0
,
...
...
@@ -254,41 +254,6 @@ namespace filter
row_filter
::
caller
<
31
,
T
,
D
,
BrdRowReplicate
>
,
row_filter
::
caller
<
32
,
T
,
D
,
BrdRowReplicate
>
},
{
0
,
row_filter
::
caller
<
1
,
T
,
D
,
BrdRowConstant
>
,
row_filter
::
caller
<
2
,
T
,
D
,
BrdRowConstant
>
,
row_filter
::
caller
<
3
,
T
,
D
,
BrdRowConstant
>
,
row_filter
::
caller
<
4
,
T
,
D
,
BrdRowConstant
>
,
row_filter
::
caller
<
5
,
T
,
D
,
BrdRowConstant
>
,
row_filter
::
caller
<
6
,
T
,
D
,
BrdRowConstant
>
,
row_filter
::
caller
<
7
,
T
,
D
,
BrdRowConstant
>
,
row_filter
::
caller
<
8
,
T
,
D
,
BrdRowConstant
>
,
row_filter
::
caller
<
9
,
T
,
D
,
BrdRowConstant
>
,
row_filter
::
caller
<
10
,
T
,
D
,
BrdRowConstant
>
,
row_filter
::
caller
<
11
,
T
,
D
,
BrdRowConstant
>
,
row_filter
::
caller
<
12
,
T
,
D
,
BrdRowConstant
>
,
row_filter
::
caller
<
13
,
T
,
D
,
BrdRowConstant
>
,
row_filter
::
caller
<
14
,
T
,
D
,
BrdRowConstant
>
,
row_filter
::
caller
<
15
,
T
,
D
,
BrdRowConstant
>
,
row_filter
::
caller
<
16
,
T
,
D
,
BrdRowConstant
>
,
row_filter
::
caller
<
17
,
T
,
D
,
BrdRowConstant
>
,
row_filter
::
caller
<
18
,
T
,
D
,
BrdRowConstant
>
,
row_filter
::
caller
<
19
,
T
,
D
,
BrdRowConstant
>
,
row_filter
::
caller
<
20
,
T
,
D
,
BrdRowConstant
>
,
row_filter
::
caller
<
21
,
T
,
D
,
BrdRowConstant
>
,
row_filter
::
caller
<
22
,
T
,
D
,
BrdRowConstant
>
,
row_filter
::
caller
<
23
,
T
,
D
,
BrdRowConstant
>
,
row_filter
::
caller
<
24
,
T
,
D
,
BrdRowConstant
>
,
row_filter
::
caller
<
25
,
T
,
D
,
BrdRowConstant
>
,
row_filter
::
caller
<
26
,
T
,
D
,
BrdRowConstant
>
,
row_filter
::
caller
<
27
,
T
,
D
,
BrdRowConstant
>
,
row_filter
::
caller
<
28
,
T
,
D
,
BrdRowConstant
>
,
row_filter
::
caller
<
29
,
T
,
D
,
BrdRowConstant
>
,
row_filter
::
caller
<
30
,
T
,
D
,
BrdRowConstant
>
,
row_filter
::
caller
<
31
,
T
,
D
,
BrdRowConstant
>
,
row_filter
::
caller
<
32
,
T
,
D
,
BrdRowConstant
>
},
{
0
,
row_filter
::
caller
<
1
,
T
,
D
,
BrdRowReflect
>
,
...
...
@@ -358,6 +323,41 @@ namespace filter
row_filter
::
caller
<
30
,
T
,
D
,
BrdRowWrap
>
,
row_filter
::
caller
<
31
,
T
,
D
,
BrdRowWrap
>
,
row_filter
::
caller
<
32
,
T
,
D
,
BrdRowWrap
>
},
{
0
,
row_filter
::
caller
<
1
,
T
,
D
,
BrdRowReflect101
>
,
row_filter
::
caller
<
2
,
T
,
D
,
BrdRowReflect101
>
,
row_filter
::
caller
<
3
,
T
,
D
,
BrdRowReflect101
>
,
row_filter
::
caller
<
4
,
T
,
D
,
BrdRowReflect101
>
,
row_filter
::
caller
<
5
,
T
,
D
,
BrdRowReflect101
>
,
row_filter
::
caller
<
6
,
T
,
D
,
BrdRowReflect101
>
,
row_filter
::
caller
<
7
,
T
,
D
,
BrdRowReflect101
>
,
row_filter
::
caller
<
8
,
T
,
D
,
BrdRowReflect101
>
,
row_filter
::
caller
<
9
,
T
,
D
,
BrdRowReflect101
>
,
row_filter
::
caller
<
10
,
T
,
D
,
BrdRowReflect101
>
,
row_filter
::
caller
<
11
,
T
,
D
,
BrdRowReflect101
>
,
row_filter
::
caller
<
12
,
T
,
D
,
BrdRowReflect101
>
,
row_filter
::
caller
<
13
,
T
,
D
,
BrdRowReflect101
>
,
row_filter
::
caller
<
14
,
T
,
D
,
BrdRowReflect101
>
,
row_filter
::
caller
<
15
,
T
,
D
,
BrdRowReflect101
>
,
row_filter
::
caller
<
16
,
T
,
D
,
BrdRowReflect101
>
,
row_filter
::
caller
<
17
,
T
,
D
,
BrdRowReflect101
>
,
row_filter
::
caller
<
18
,
T
,
D
,
BrdRowReflect101
>
,
row_filter
::
caller
<
19
,
T
,
D
,
BrdRowReflect101
>
,
row_filter
::
caller
<
20
,
T
,
D
,
BrdRowReflect101
>
,
row_filter
::
caller
<
21
,
T
,
D
,
BrdRowReflect101
>
,
row_filter
::
caller
<
22
,
T
,
D
,
BrdRowReflect101
>
,
row_filter
::
caller
<
23
,
T
,
D
,
BrdRowReflect101
>
,
row_filter
::
caller
<
24
,
T
,
D
,
BrdRowReflect101
>
,
row_filter
::
caller
<
25
,
T
,
D
,
BrdRowReflect101
>
,
row_filter
::
caller
<
26
,
T
,
D
,
BrdRowReflect101
>
,
row_filter
::
caller
<
27
,
T
,
D
,
BrdRowReflect101
>
,
row_filter
::
caller
<
28
,
T
,
D
,
BrdRowReflect101
>
,
row_filter
::
caller
<
29
,
T
,
D
,
BrdRowReflect101
>
,
row_filter
::
caller
<
30
,
T
,
D
,
BrdRowReflect101
>
,
row_filter
::
caller
<
31
,
T
,
D
,
BrdRowReflect101
>
,
row_filter
::
caller
<
32
,
T
,
D
,
BrdRowReflect101
>
}
};
...
...
This diff is collapsed.
Click to expand it.
modules/gpufilters/src/filtering.cpp
View file @
43d5e2d8
...
...
@@ -783,9 +783,6 @@ Ptr<BaseFilter_GPU> cv::gpu::getLinearFilter_GPU(int srcType, int dstType, const
CV_Assert
(
ksize
.
width
*
ksize
.
height
<=
16
*
16
);
int
gpuBorderType
;
CV_Assert
(
tryConvertToGpuBorderType
(
brd_type
,
gpuBorderType
)
);
GpuMat
gpu_krnl
;
normalizeKernel
(
kernel
,
gpu_krnl
,
CV_32F
);
...
...
@@ -815,7 +812,7 @@ Ptr<BaseFilter_GPU> cv::gpu::getLinearFilter_GPU(int srcType, int dstType, const
break
;
}
return
Ptr
<
BaseFilter_GPU
>
(
new
GpuFilter2D
(
ksize
,
anchor
,
func
,
gpu_krnl
,
gpuBorderT
ype
));
return
Ptr
<
BaseFilter_GPU
>
(
new
GpuFilter2D
(
ksize
,
anchor
,
func
,
gpu_krnl
,
brd_t
ype
));
}
Ptr
<
FilterEngine_GPU
>
cv
::
gpu
::
createLinearFilter_GPU
(
int
srcType
,
int
dstType
,
const
Mat
&
kernel
,
Point
anchor
,
int
borderType
)
...
...
@@ -936,9 +933,6 @@ Ptr<BaseRowFilter_GPU> cv::gpu::getLinearRowFilter_GPU(int srcType, int bufType,
CV_Assert
(
borderType
==
BORDER_REFLECT101
||
borderType
==
BORDER_REPLICATE
||
borderType
==
BORDER_CONSTANT
||
borderType
==
BORDER_REFLECT
||
borderType
==
BORDER_WRAP
);
int
gpuBorderType
;
CV_Assert
(
tryConvertToGpuBorderType
(
borderType
,
gpuBorderType
)
);
const
int
sdepth
=
CV_MAT_DEPTH
(
srcType
);
const
int
cn
=
CV_MAT_CN
(
srcType
);
CV_Assert
(
sdepth
<=
CV_64F
&&
cn
<=
4
);
...
...
@@ -955,7 +949,7 @@ Ptr<BaseRowFilter_GPU> cv::gpu::getLinearRowFilter_GPU(int srcType, int bufType,
normalizeAnchor
(
anchor
,
ksize
);
return
Ptr
<
BaseRowFilter_GPU
>
(
new
GpuLinearRowFilter
(
ksize
,
anchor
,
gpu_row_krnl
,
func
,
gpuB
orderType
));
return
Ptr
<
BaseRowFilter_GPU
>
(
new
GpuLinearRowFilter
(
ksize
,
anchor
,
gpu_row_krnl
,
func
,
b
orderType
));
}
namespace
...
...
@@ -1041,9 +1035,6 @@ Ptr<BaseColumnFilter_GPU> cv::gpu::getLinearColumnFilter_GPU(int bufType, int ds
CV_Assert
(
borderType
==
BORDER_REFLECT101
||
borderType
==
BORDER_REPLICATE
||
borderType
==
BORDER_CONSTANT
||
borderType
==
BORDER_REFLECT
||
borderType
==
BORDER_WRAP
);
int
gpuBorderType
;
CV_Assert
(
tryConvertToGpuBorderType
(
borderType
,
gpuBorderType
)
);
const
int
ddepth
=
CV_MAT_DEPTH
(
dstType
);
const
int
cn
=
CV_MAT_CN
(
dstType
);
CV_Assert
(
ddepth
<=
CV_64F
&&
cn
<=
4
);
...
...
@@ -1060,7 +1051,7 @@ Ptr<BaseColumnFilter_GPU> cv::gpu::getLinearColumnFilter_GPU(int bufType, int ds
normalizeAnchor
(
anchor
,
ksize
);
return
Ptr
<
BaseColumnFilter_GPU
>
(
new
GpuLinearColumnFilter
(
ksize
,
anchor
,
gpu_col_krnl
,
func
,
gpuB
orderType
));
return
Ptr
<
BaseColumnFilter_GPU
>
(
new
GpuLinearColumnFilter
(
ksize
,
anchor
,
gpu_col_krnl
,
func
,
b
orderType
));
}
Ptr
<
FilterEngine_GPU
>
cv
::
gpu
::
createSeparableLinearFilter_GPU
(
int
srcType
,
int
dstType
,
const
Mat
&
rowKernel
,
const
Mat
&
columnKernel
,
...
...
This diff is collapsed.
Click to expand it.
modules/gpuimgproc/src/bilateral_filter.cpp
View file @
43d5e2d8
...
...
@@ -89,11 +89,8 @@ void cv::gpu::bilateralFilter(const GpuMat& src, GpuMat& dst, int kernel_size, f
CV_Assert
(
borderMode
==
BORDER_REFLECT101
||
borderMode
==
BORDER_REPLICATE
||
borderMode
==
BORDER_CONSTANT
||
borderMode
==
BORDER_REFLECT
||
borderMode
==
BORDER_WRAP
);
int
gpuBorderType
;
CV_Assert
(
tryConvertToGpuBorderType
(
borderMode
,
gpuBorderType
));
dst
.
create
(
src
.
size
(),
src
.
type
());
func
(
src
,
dst
,
kernel_size
,
sigma_spatial
,
sigma_color
,
gpuBorderTyp
e
,
StreamAccessor
::
getStream
(
s
));
func
(
src
,
dst
,
kernel_size
,
sigma_spatial
,
sigma_color
,
borderMod
e
,
StreamAccessor
::
getStream
(
s
));
}
#endif
This diff is collapsed.
Click to expand it.
modules/gpuimgproc/src/cuda/bilateral_filter.cu
View file @
43d5e2d8
...
...
@@ -150,11 +150,11 @@ namespace cv { namespace gpu { namespace cudev
static caller_t funcs[] =
{
bilateral_caller<T, BrdReflect101>,
bilateral_caller<T, BrdReplicate>,
bilateral_caller<T, BrdConstant>,
bilateral_caller<T, BrdReplicate>,
bilateral_caller<T, BrdReflect>,
bilateral_caller<T, BrdWrap>,
bilateral_caller<T, BrdReflect101>
};
funcs[borderMode](src, dst, kernel_size, gauss_spatial_coeff, gauss_color_coeff, stream);
}
...
...
This diff is collapsed.
Click to expand it.
modules/gpuimgproc/src/cuda/imgproc.cu
View file @
43d5e2d8
...
...
@@ -269,15 +269,15 @@ namespace cv { namespace gpu { namespace cudev
switch (border_type)
{
case BORDER_REFLECT101
_GPU
:
case BORDER_REFLECT101:
cornerHarris_kernel<<<grid, block, 0, stream>>>(block_size, k, dst, BrdRowReflect101<void>(Dx.cols), BrdColReflect101<void>(Dx.rows));
break;
case BORDER_REFLECT
_GPU
:
case BORDER_REFLECT:
cornerHarris_kernel<<<grid, block, 0, stream>>>(block_size, k, dst, BrdRowReflect<void>(Dx.cols), BrdColReflect<void>(Dx.rows));
break;
case BORDER_REPLICATE
_GPU
:
case BORDER_REPLICATE:
cornerHarris_kernel<<<grid, block, 0, stream>>>(block_size, k, dst);
break;
}
...
...
@@ -381,15 +381,15 @@ namespace cv { namespace gpu { namespace cudev
switch (border_type)
{
case BORDER_REFLECT101
_GPU
:
case BORDER_REFLECT101:
cornerMinEigenVal_kernel<<<grid, block, 0, stream>>>(block_size, dst, BrdRowReflect101<void>(Dx.cols), BrdColReflect101<void>(Dx.rows));
break;
case BORDER_REFLECT
_GPU
:
case BORDER_REFLECT:
cornerMinEigenVal_kernel<<<grid, block, 0, stream>>>(block_size, dst, BrdRowReflect<void>(Dx.cols), BrdColReflect<void>(Dx.rows));
break;
case BORDER_REPLICATE
_GPU
:
case BORDER_REPLICATE:
cornerMinEigenVal_kernel<<<grid, block, 0, stream>>>(block_size, dst);
break;
}
...
...
This diff is collapsed.
Click to expand it.
modules/gpuimgproc/src/imgproc.cpp
View file @
43d5e2d8
...
...
@@ -552,14 +552,11 @@ void cv::gpu::cornerHarris(const GpuMat& src, GpuMat& dst, GpuMat& Dx, GpuMat& D
CV_Assert
(
borderType
==
cv
::
BORDER_REFLECT101
||
borderType
==
cv
::
BORDER_REPLICATE
||
borderType
==
cv
::
BORDER_REFLECT
);
int
gpuBorderType
;
CV_Assert
(
tryConvertToGpuBorderType
(
borderType
,
gpuBorderType
));
extractCovData
(
src
,
Dx
,
Dy
,
buf
,
blockSize
,
ksize
,
borderType
,
stream
);
dst
.
create
(
src
.
size
(),
CV_32F
);
cornerHarris_gpu
(
blockSize
,
static_cast
<
float
>
(
k
),
Dx
,
Dy
,
dst
,
gpuB
orderType
,
StreamAccessor
::
getStream
(
stream
));
cornerHarris_gpu
(
blockSize
,
static_cast
<
float
>
(
k
),
Dx
,
Dy
,
dst
,
b
orderType
,
StreamAccessor
::
getStream
(
stream
));
}
void
cv
::
gpu
::
cornerMinEigenVal
(
const
GpuMat
&
src
,
GpuMat
&
dst
,
int
blockSize
,
int
ksize
,
int
borderType
)
...
...
@@ -580,14 +577,11 @@ void cv::gpu::cornerMinEigenVal(const GpuMat& src, GpuMat& dst, GpuMat& Dx, GpuM
CV_Assert
(
borderType
==
cv
::
BORDER_REFLECT101
||
borderType
==
cv
::
BORDER_REPLICATE
||
borderType
==
cv
::
BORDER_REFLECT
);
int
gpuBorderType
;
CV_Assert
(
tryConvertToGpuBorderType
(
borderType
,
gpuBorderType
));
extractCovData
(
src
,
Dx
,
Dy
,
buf
,
blockSize
,
ksize
,
borderType
,
stream
);
dst
.
create
(
src
.
size
(),
CV_32F
);
cornerMinEigenVal_gpu
(
blockSize
,
Dx
,
Dy
,
dst
,
gpuB
orderType
,
StreamAccessor
::
getStream
(
stream
));
cornerMinEigenVal_gpu
(
blockSize
,
Dx
,
Dy
,
dst
,
b
orderType
,
StreamAccessor
::
getStream
(
stream
));
}
...
...
This diff is collapsed.
Click to expand it.
modules/gpuoptflow/src/cuda/optical_flow_farneback.cu
View file @
43d5e2d8
...
...
@@ -525,8 +525,11 @@ namespace cv { namespace gpu { namespace cudev { namespace optflow_farneback
static const caller_t callers[] =
{
gaussianBlurCaller<BrdReflect101<float> >
,
0 /*gaussianBlurCaller<BrdConstant<float> >*/
,
gaussianBlurCaller<BrdReplicate<float> >,
0 /*gaussianBlurCaller<BrdReflect<float> >*/,
0 /*gaussianBlurCaller<BrdWrap<float> >*/,
gaussianBlurCaller<BrdReflect101<float> >
};
callers[borderMode](src, ksizeHalf, dst, stream);
...
...
@@ -620,8 +623,11 @@ namespace cv { namespace gpu { namespace cudev { namespace optflow_farneback
static const caller_t callers[] =
{
gaussianBlur5Caller<BrdReflect101<float>,256>
,
0 /*gaussianBlur5Caller<BrdConstant<float>,256>*/
,
gaussianBlur5Caller<BrdReplicate<float>,256>,
0 /*gaussianBlur5Caller<BrdReflect<float>,256>*/,
0 /*gaussianBlur5Caller<BrdWrap<float>,256>*/,
gaussianBlur5Caller<BrdReflect101<float>,256>
};
callers[borderMode](src, ksizeHalf, dst, stream);
...
...
@@ -634,8 +640,11 @@ namespace cv { namespace gpu { namespace cudev { namespace optflow_farneback
static const caller_t callers[] =
{
gaussianBlur5Caller<BrdReflect101<float>,128>
,
0 /*gaussianBlur5Caller<BrdConstant<float>,128>*/
,
gaussianBlur5Caller<BrdReplicate<float>,128>,
0 /*gaussianBlur5Caller<BrdReflect<float>,128>*/,
0 /*gaussianBlur5Caller<BrdWrap<float>,128>*/,
gaussianBlur5Caller<BrdReflect101<float>,128>
};
callers[borderMode](src, ksizeHalf, dst, stream);
...
...
This diff is collapsed.
Click to expand it.
modules/gpuoptflow/src/optical_flow_farneback.cpp
View file @
43d5e2d8
...
...
@@ -192,10 +192,10 @@ void cv::gpu::FarnebackOpticalFlow::updateFlow_gaussianBlur(
{
if
(
deviceSupports
(
FEATURE_SET_COMPUTE_12
))
cudev
::
optflow_farneback
::
gaussianBlur5Gpu
(
M
,
blockSize
/
2
,
bufM
,
BORDER_REPLICATE
_GPU
,
S
(
streams
[
0
]));
M
,
blockSize
/
2
,
bufM
,
BORDER_REPLICATE
,
S
(
streams
[
0
]));
else
cudev
::
optflow_farneback
::
gaussianBlur5Gpu_CC11
(
M
,
blockSize
/
2
,
bufM
,
BORDER_REPLICATE
_GPU
,
S
(
streams
[
0
]));
M
,
blockSize
/
2
,
bufM
,
BORDER_REPLICATE
,
S
(
streams
[
0
]));
swap
(
M
,
bufM
);
cudev
::
optflow_farneback
::
updateFlowGpu
(
M
,
flowx
,
flowy
,
S
(
streams
[
0
]));
...
...
@@ -366,7 +366,7 @@ void cv::gpu::FarnebackOpticalFlow::operator ()(
for
(
int
i
=
0
;
i
<
2
;
i
++
)
{
cudev
::
optflow_farneback
::
gaussianBlurGpu
(
frames_
[
i
],
smoothSize
/
2
,
blurredFrame
[
i
],
BORDER_REFLECT101
_GPU
,
S
(
streams
[
i
]));
frames_
[
i
],
smoothSize
/
2
,
blurredFrame
[
i
],
BORDER_REFLECT101
,
S
(
streams
[
i
]));
#if ENABLE_GPU_RESIZE
resize
(
blurredFrame
[
i
],
pyrLevel
[
i
],
Size
(
width
,
height
),
INTER_LINEAR
,
streams
[
i
]);
#else
...
...
This diff is collapsed.
Click to expand it.
modules/gpuwarping/src/cuda/remap.cu
View file @
43d5e2d8
...
...
@@ -212,25 +212,25 @@ namespace cv { namespace gpu { namespace cudev
static const caller_t callers[3][5] =
{
{
RemapDispatcher<PointFilter, BrdReflect101, T>::call,
RemapDispatcher<PointFilter, BrdReplicate, T>::call,
RemapDispatcher<PointFilter, BrdConstant, T>::call,
RemapDispatcher<PointFilter, BrdReplicate, T>::call,
RemapDispatcher<PointFilter, BrdReflect, T>::call,
RemapDispatcher<PointFilter, BrdWrap, T>::call
RemapDispatcher<PointFilter, BrdWrap, T>::call,
RemapDispatcher<PointFilter, BrdReflect101, T>::call
},
{
RemapDispatcher<LinearFilter, BrdReflect101, T>::call,
RemapDispatcher<LinearFilter, BrdReplicate, T>::call,
RemapDispatcher<LinearFilter, BrdConstant, T>::call,
RemapDispatcher<LinearFilter, BrdReplicate, T>::call,
RemapDispatcher<LinearFilter, BrdReflect, T>::call,
RemapDispatcher<LinearFilter, BrdWrap, T>::call
RemapDispatcher<LinearFilter, BrdWrap, T>::call,
RemapDispatcher<LinearFilter, BrdReflect101, T>::call
},
{
RemapDispatcher<CubicFilter, BrdReflect101, T>::call,
RemapDispatcher<CubicFilter, BrdReplicate, T>::call,
RemapDispatcher<CubicFilter, BrdConstant, T>::call,
RemapDispatcher<CubicFilter, BrdReplicate, T>::call,
RemapDispatcher<CubicFilter, BrdReflect, T>::call,
RemapDispatcher<CubicFilter, BrdWrap, T>::call
RemapDispatcher<CubicFilter, BrdWrap, T>::call,
RemapDispatcher<CubicFilter, BrdReflect101, T>::call
}
};
...
...
This diff is collapsed.
Click to expand it.
modules/gpuwarping/src/cuda/warp.cu
View file @
43d5e2d8
...
...
@@ -281,25 +281,25 @@ namespace cv { namespace gpu { namespace cudev
static const func_t funcs[3][5] =
{
{
WarpDispatcher<Transform, PointFilter, BrdReflect101, T>::call,
WarpDispatcher<Transform, PointFilter, BrdReplicate, T>::call,
WarpDispatcher<Transform, PointFilter, BrdConstant, T>::call,
WarpDispatcher<Transform, PointFilter, BrdReplicate, T>::call,
WarpDispatcher<Transform, PointFilter, BrdReflect, T>::call,
WarpDispatcher<Transform, PointFilter, BrdWrap, T>::call
WarpDispatcher<Transform, PointFilter, BrdWrap, T>::call,
WarpDispatcher<Transform, PointFilter, BrdReflect101, T>::call
},
{
WarpDispatcher<Transform, LinearFilter, BrdReflect101, T>::call,
WarpDispatcher<Transform, LinearFilter, BrdReplicate, T>::call,
WarpDispatcher<Transform, LinearFilter, BrdConstant, T>::call,
WarpDispatcher<Transform, LinearFilter, BrdReplicate, T>::call,
WarpDispatcher<Transform, LinearFilter, BrdReflect, T>::call,
WarpDispatcher<Transform, LinearFilter, BrdWrap, T>::call
WarpDispatcher<Transform, LinearFilter, BrdWrap, T>::call,
WarpDispatcher<Transform, LinearFilter, BrdReflect101, T>::call
},
{
WarpDispatcher<Transform, CubicFilter, BrdReflect101, T>::call,
WarpDispatcher<Transform, CubicFilter, BrdReplicate, T>::call,
WarpDispatcher<Transform, CubicFilter, BrdConstant, T>::call,
WarpDispatcher<Transform, CubicFilter, BrdReplicate, T>::call,
WarpDispatcher<Transform, CubicFilter, BrdReflect, T>::call,
WarpDispatcher<Transform, CubicFilter, BrdWrap, T>::call
WarpDispatcher<Transform, CubicFilter, BrdWrap, T>::call,
WarpDispatcher<Transform, CubicFilter, BrdReflect101, T>::call
}
};
...
...
This diff is collapsed.
Click to expand it.
modules/gpuwarping/src/remap.cpp
View file @
43d5e2d8
...
...
@@ -83,9 +83,6 @@ void cv::gpu::remap(const GpuMat& src, GpuMat& dst, const GpuMat& xmap, const Gp
const
func_t
func
=
funcs
[
src
.
depth
()][
src
.
channels
()
-
1
];
CV_Assert
(
func
!=
0
);
int
gpuBorderType
;
CV_Assert
(
tryConvertToGpuBorderType
(
borderMode
,
gpuBorderType
));
dst
.
create
(
xmap
.
size
(),
src
.
type
());
Scalar_
<
float
>
borderValueFloat
;
...
...
@@ -96,7 +93,7 @@ void cv::gpu::remap(const GpuMat& src, GpuMat& dst, const GpuMat& xmap, const Gp
src
.
locateROI
(
wholeSize
,
ofs
);
func
(
src
,
PtrStepSzb
(
wholeSize
.
height
,
wholeSize
.
width
,
src
.
datastart
,
src
.
step
),
ofs
.
x
,
ofs
.
y
,
xmap
,
ymap
,
dst
,
interpolation
,
gpuBorderTyp
e
,
borderValueFloat
.
val
,
StreamAccessor
::
getStream
(
stream
),
deviceSupports
(
FEATURE_SET_COMPUTE_20
));
dst
,
interpolation
,
borderMod
e
,
borderValueFloat
.
val
,
StreamAccessor
::
getStream
(
stream
),
deviceSupports
(
FEATURE_SET_COMPUTE_20
));
}
#endif // HAVE_CUDA
This diff is collapsed.
Click to expand it.
modules/gpuwarping/src/warp.cpp
View file @
43d5e2d8
...
...
@@ -289,9 +289,6 @@ void cv::gpu::warpAffine(const GpuMat& src, GpuMat& dst, const Mat& M, Size dsiz
const
func_t
func
=
funcs
[
src
.
depth
()][
src
.
channels
()
-
1
];
CV_Assert
(
func
!=
0
);
int
gpuBorderType
;
CV_Assert
(
tryConvertToGpuBorderType
(
borderMode
,
gpuBorderType
));
float
coeffs
[
2
*
3
];
Mat
coeffsMat
(
2
,
3
,
CV_32F
,
(
void
*
)
coeffs
);
...
...
@@ -308,7 +305,7 @@ void cv::gpu::warpAffine(const GpuMat& src, GpuMat& dst, const Mat& M, Size dsiz
borderValueFloat
=
borderValue
;
func
(
src
,
PtrStepSzb
(
wholeSize
.
height
,
wholeSize
.
width
,
src
.
datastart
,
src
.
step
),
ofs
.
x
,
ofs
.
y
,
coeffs
,
dst
,
interpolation
,
gpuBorderTyp
e
,
borderValueFloat
.
val
,
StreamAccessor
::
getStream
(
s
),
deviceSupports
(
FEATURE_SET_COMPUTE_20
));
dst
,
interpolation
,
borderMod
e
,
borderValueFloat
.
val
,
StreamAccessor
::
getStream
(
s
),
deviceSupports
(
FEATURE_SET_COMPUTE_20
));
}
}
...
...
@@ -427,9 +424,6 @@ void cv::gpu::warpPerspective(const GpuMat& src, GpuMat& dst, const Mat& M, Size
const
func_t
func
=
funcs
[
src
.
depth
()][
src
.
channels
()
-
1
];
CV_Assert
(
func
!=
0
);
int
gpuBorderType
;
CV_Assert
(
tryConvertToGpuBorderType
(
borderMode
,
gpuBorderType
));
float
coeffs
[
3
*
3
];
Mat
coeffsMat
(
3
,
3
,
CV_32F
,
(
void
*
)
coeffs
);
...
...
@@ -446,7 +440,7 @@ void cv::gpu::warpPerspective(const GpuMat& src, GpuMat& dst, const Mat& M, Size
borderValueFloat
=
borderValue
;
func
(
src
,
PtrStepSzb
(
wholeSize
.
height
,
wholeSize
.
width
,
src
.
datastart
,
src
.
step
),
ofs
.
x
,
ofs
.
y
,
coeffs
,
dst
,
interpolation
,
gpuBorderTyp
e
,
borderValueFloat
.
val
,
StreamAccessor
::
getStream
(
s
),
deviceSupports
(
FEATURE_SET_COMPUTE_20
));
dst
,
interpolation
,
borderMod
e
,
borderValueFloat
.
val
,
StreamAccessor
::
getStream
(
s
),
deviceSupports
(
FEATURE_SET_COMPUTE_20
));
}
}
...
...
This diff is collapsed.
Click to expand it.
modules/photo/src/cuda/nlm.cu
View file @
43d5e2d8
...
...
@@ -161,11 +161,11 @@ namespace cv { namespace gpu { namespace cudev
static func_t funcs[] =
{
nlm_caller<T, BrdReflect101>,
nlm_caller<T, BrdReplicate>,
nlm_caller<T, BrdConstant>,
nlm_caller<T, BrdReplicate>,
nlm_caller<T, BrdReflect>,
nlm_caller<T, BrdWrap>,
nlm_caller<T, BrdReflect101>
};
funcs[borderMode](src, dst, search_radius, block_radius, h, stream);
}
...
...
This diff is collapsed.
Click to expand it.
modules/photo/src/denoising_gpu.cpp
View file @
43d5e2d8
...
...
@@ -85,11 +85,8 @@ void cv::gpu::nonLocalMeans(const GpuMat& src, GpuMat& dst, float h, int search_
int
b
=
borderMode
;
CV_Assert
(
b
==
BORDER_REFLECT101
||
b
==
BORDER_REPLICATE
||
b
==
BORDER_CONSTANT
||
b
==
BORDER_REFLECT
||
b
==
BORDER_WRAP
);
int
gpuBorderType
;
CV_Assert
(
tryConvertToGpuBorderType
(
borderMode
,
gpuBorderType
));
dst
.
create
(
src
.
size
(),
src
.
type
());
func
(
src
,
dst
,
search_window
/
2
,
block_window
/
2
,
h
,
gpuBorderTyp
e
,
StreamAccessor
::
getStream
(
s
));
func
(
src
,
dst
,
search_window
/
2
,
block_window
/
2
,
h
,
borderMod
e
,
StreamAccessor
::
getStream
(
s
));
}
namespace
cv
{
namespace
gpu
{
namespace
cudev
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment