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
c2c73331
Commit
c2c73331
authored
Nov 01, 2017
by
elenagvo
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add hal for GaussianBlur
parent
cb9e110a
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
42 additions
and
8 deletions
+42
-8
hal_replacement.hpp
modules/imgproc/src/hal_replacement.hpp
+24
-6
smooth.cpp
modules/imgproc/src/smooth.cpp
+18
-2
No files found.
modules/imgproc/src/hal_replacement.hpp
View file @
c2c73331
...
...
@@ -666,23 +666,41 @@ inline int hal_ni_threshold(const uchar* src_data, size_t src_step, uchar* dst_d
/**
@brief Calculate box filter
@param src_depth, dst_depth Depths of source and destination image
@param src_data, src_step Source image
@param dst_data, dst_step Destination image
@param src_depth,dst_depth Depths of source and destination image
@param src_data,src_step Source image
@param dst_data,dst_step Destination image
@param width,height Source image dimensions
@param margins Margins for source image
@param ksize Size of kernel
@param anchor Anchor point
@param normalize If true then result is normalized
@param border_type Border type
@param margins Margins for source image
@param width, height Source image dimensions
@param cn Number of channels
*/
inline
int
hal_ni_boxFilter
(
int
src_depth
,
int
dst_depth
,
const
uchar
*
src_data
,
size_t
src_step
,
uchar
*
dst_data
,
size_t
dst_step
,
CvSize
ksize
,
CvPoint
anchor
,
bool
normalize
,
int
border_type
,
CvRect
margins
,
int
width
,
int
height
,
int
cn
)
{
return
CV_HAL_ERROR_NOT_IMPLEMENTED
;
}
inline
int
hal_ni_boxFilter
(
int
src_depth
,
int
dst_depth
,
const
uchar
*
src_data
,
size_t
src_step
,
uchar
*
dst_data
,
size_t
dst_step
,
int
width
,
int
height
,
int
cn
,
CvRect
margins
,
CvSize
ksize
,
CvPoint
anchor
,
bool
normalize
,
int
border_type
)
{
return
CV_HAL_ERROR_NOT_IMPLEMENTED
;
}
//! @cond IGNORED
#define cv_hal_boxFilter hal_ni_boxFilter
//! @endcond
/**
@brief Blurs an image using a Gaussian filter.
@param src_depth,dst_depth Depths of source and destination image
@param src_data,src_step Source image
@param dst_data,dst_step Destination image
@param width,height Source image dimensions
@param margins Margins for source image
@param ksize Size of kernel
@param sigmaX,sigmaY Gaussian kernel standard deviation.
@param border_type Border type
@param cn Number of channels
*/
inline
int
hal_ni_gaussianBlur
(
int
depth
,
const
uchar
*
src_data
,
size_t
src_step
,
uchar
*
dst_data
,
size_t
dst_step
,
int
width
,
int
height
,
int
cn
,
CvRect
margins
,
CvSize
ksize
,
double
sigmaX
,
double
sigmaY
,
int
border_type
)
{
return
CV_HAL_ERROR_NOT_IMPLEMENTED
;
}
//! @cond IGNORED
#define cv_hal_gaussianBlur hal_ni_gaussianBlur
//! @endcond
//! @}
#if defined __GNUC__
...
...
modules/imgproc/src/smooth.cpp
View file @
c2c73331
...
...
@@ -1561,8 +1561,8 @@ void cv::boxFilter( InputArray _src, OutputArray _dst, int ddepth,
CvRect
margin
=
cvRect
(
ofs
.
x
,
ofs
.
y
,
wsz
.
width
-
src
.
cols
-
ofs
.
x
,
wsz
.
height
-
src
.
rows
-
ofs
.
y
);
CALL_HAL
(
boxFilter
,
cv_hal_boxFilter
,
sdepth
,
ddepth
,
src
.
ptr
(),
src
.
step
,
dst
.
ptr
(),
dst
.
step
,
(
CvSize
)(
ksize
),
(
CvPoint
)(
anchor
),
normalize
,
borderType
,
margin
,
src
.
cols
,
src
.
rows
,
cn
);
CALL_HAL
(
boxFilter
,
cv_hal_boxFilter
,
sdepth
,
ddepth
,
src
.
ptr
(),
src
.
step
,
dst
.
ptr
(),
dst
.
step
,
src
.
cols
,
src
.
rows
,
cn
,
margin
,
(
CvSize
)(
ksize
),
(
CvPoint
)(
anchor
),
normalize
,
borderType
);
#ifdef HAVE_TEGRA_OPTIMIZATION
if
(
tegra
::
useTegra
()
&&
tegra
::
box
(
src
,
dst
,
ksize
,
anchor
,
normalize
,
borderType
)
)
...
...
@@ -2114,6 +2114,22 @@ void cv::GaussianBlur( InputArray _src, OutputArray _dst, Size ksize,
_src
.
rows
()
>
ksize
.
height
&&
_src
.
cols
()
>
ksize
.
width
);
(
void
)
useOpenCL
;
Mat
src
=
_src
.
getMat
();
Mat
dst
=
_dst
.
getMat
();
int
sdepth
=
CV_MAT_DEPTH
(
type
),
cn
=
CV_MAT_CN
(
type
);
Point
ofs
;
Size
wsz
(
src
.
cols
,
src
.
rows
);
if
(
!
(
borderType
&
BORDER_ISOLATED
))
src
.
locateROI
(
wsz
,
ofs
);
borderType
=
(
borderType
&~
BORDER_ISOLATED
);
CvRect
margin
=
cvRect
(
ofs
.
x
,
ofs
.
y
,
wsz
.
width
-
src
.
cols
-
ofs
.
x
,
wsz
.
height
-
src
.
rows
-
ofs
.
y
);
CALL_HAL
(
gaussianBlur
,
cv_hal_gaussianBlur
,
sdepth
,
src
.
ptr
(),
src
.
step
,
dst
.
ptr
(),
dst
.
step
,
src
.
cols
,
src
.
rows
,
cn
,
margin
,
(
CvSize
)(
ksize
),
sigma1
,
sigma2
,
borderType
);
CV_IPP_RUN
(
!
useOpenCL
,
ipp_GaussianBlur
(
_src
,
_dst
,
ksize
,
sigma1
,
sigma2
,
borderType
));
Mat
kx
,
ky
;
...
...
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