mirror of
https://github.com/opencv/opencv.git
synced 2026-07-30 07:43:03 +04:00
Merge branch 4.x
This commit is contained in:
@@ -197,8 +197,72 @@ enum DftFlags {
|
||||
DCT_ROWS = DFT_ROWS
|
||||
};
|
||||
|
||||
//! Various border types, image boundaries are denoted with `|`
|
||||
//! @see borderInterpolate, copyMakeBorder
|
||||
/*! Various border types, image boundaries are denoted with the `|` character in the table below, when describing each method.
|
||||
|
||||
The following examples show the result of the @ref copyMakeBorder call according to different methods.
|
||||
Input image is `6x4` (width x height) size and the @ref copyMakeBorder function is used with a border size of 2 pixels
|
||||
in each direction, giving a resulting image of `10x8` resolution.
|
||||
|
||||
@code
|
||||
Input image:
|
||||
[[ 0 1 2 3 4 5]
|
||||
[ 6 7 8 9 10 11]
|
||||
[12 13 14 15 16 17]
|
||||
[18 19 20 21 22 23]]
|
||||
|
||||
Border type: BORDER_CONSTANT (a constant value of 255 is used)
|
||||
[[255 255 255 255 255 255 255 255 255 255]
|
||||
[255 255 255 255 255 255 255 255 255 255]
|
||||
[255 255 0 1 2 3 4 5 255 255]
|
||||
[255 255 6 7 8 9 10 11 255 255]
|
||||
[255 255 12 13 14 15 16 17 255 255]
|
||||
[255 255 18 19 20 21 22 23 255 255]
|
||||
[255 255 255 255 255 255 255 255 255 255]
|
||||
[255 255 255 255 255 255 255 255 255 255]]
|
||||
|
||||
Border type: BORDER_REPLICATE
|
||||
[[ 0 0 0 1 2 3 4 5 5 5]
|
||||
[ 0 0 0 1 2 3 4 5 5 5]
|
||||
[ 0 0 0 1 2 3 4 5 5 5]
|
||||
[ 6 6 6 7 8 9 10 11 11 11]
|
||||
[12 12 12 13 14 15 16 17 17 17]
|
||||
[18 18 18 19 20 21 22 23 23 23]
|
||||
[18 18 18 19 20 21 22 23 23 23]
|
||||
[18 18 18 19 20 21 22 23 23 23]]
|
||||
|
||||
Border type: BORDER_REFLECT
|
||||
[[ 7 6 6 7 8 9 10 11 11 10]
|
||||
[ 1 0 0 1 2 3 4 5 5 4]
|
||||
[ 1 0 0 1 2 3 4 5 5 4]
|
||||
[ 7 6 6 7 8 9 10 11 11 10]
|
||||
[13 12 12 13 14 15 16 17 17 16]
|
||||
[19 18 18 19 20 21 22 23 23 22]
|
||||
[19 18 18 19 20 21 22 23 23 22]
|
||||
[13 12 12 13 14 15 16 17 17 16]]
|
||||
|
||||
Border type: BORDER_WRAP
|
||||
[[16 17 12 13 14 15 16 17 12 13]
|
||||
[22 23 18 19 20 21 22 23 18 19]
|
||||
[ 4 5 0 1 2 3 4 5 0 1]
|
||||
[10 11 6 7 8 9 10 11 6 7]
|
||||
[16 17 12 13 14 15 16 17 12 13]
|
||||
[22 23 18 19 20 21 22 23 18 19]
|
||||
[ 4 5 0 1 2 3 4 5 0 1]
|
||||
[10 11 6 7 8 9 10 11 6 7]]
|
||||
|
||||
Border type: BORDER_REFLECT_101
|
||||
[[14 13 12 13 14 15 16 17 16 15]
|
||||
[ 8 7 6 7 8 9 10 11 10 9]
|
||||
[ 2 1 0 1 2 3 4 5 4 3]
|
||||
[ 8 7 6 7 8 9 10 11 10 9]
|
||||
[14 13 12 13 14 15 16 17 16 15]
|
||||
[20 19 18 19 20 21 22 23 22 21]
|
||||
[14 13 12 13 14 15 16 17 16 15]
|
||||
[ 8 7 6 7 8 9 10 11 10 9]]
|
||||
@endcode
|
||||
|
||||
@see borderInterpolate, copyMakeBorder
|
||||
*/
|
||||
enum BorderTypes {
|
||||
BORDER_CONSTANT = 0, //!< `iiiiii|abcdefgh|iiiiiii` with some specified `i`
|
||||
BORDER_REPLICATE = 1, //!< `aaaaaa|abcdefgh|hhhhhhh`
|
||||
@@ -214,7 +278,6 @@ enum BorderTypes {
|
||||
|
||||
//! @} core_array
|
||||
|
||||
|
||||
//! @addtogroup core_utils
|
||||
//! @{
|
||||
|
||||
|
||||
@@ -202,6 +202,7 @@ T* allocSingletonNew() { return new(allocSingletonNewBuffer(sizeof(T))) T(); }
|
||||
#define IPP_DISABLE_XYZ_RGB 1 // big accuracy difference
|
||||
#define IPP_DISABLE_HOUGH 1 // improper integration/results
|
||||
#define IPP_DISABLE_FILTER2D_BIG_MASK 1 // different results on masks > 7x7
|
||||
#define IPP_DISABLE_NORM_8U 1 // accuracy difference in perf test sanity check
|
||||
|
||||
// Temporary disabled named IPP region. Performance
|
||||
#define IPP_DISABLE_PERF_COPYMAKE 1 // performance variations
|
||||
|
||||
@@ -257,8 +257,8 @@ VSX_IMPL_1VRG(vec_udword2, vec_udword2, vpopcntd, vec_popcntu)
|
||||
VSX_IMPL_1VRG(vec_udword2, vec_dword2, vpopcntd, vec_popcntu)
|
||||
|
||||
// converts between single and double-precision
|
||||
VSX_REDIRECT_1RG(vec_float4, vec_double2, vec_cvfo, __builtin_vsx_xvcvdpsp)
|
||||
VSX_REDIRECT_1RG(vec_double2, vec_float4, vec_cvfo, __builtin_vsx_xvcvspdp)
|
||||
VSX_REDIRECT_1RG(vec_float4, vec_double2, vec_cvfo, vec_floate)
|
||||
VSX_REDIRECT_1RG(vec_double2, vec_float4, vec_cvfo, vec_doubleo)
|
||||
|
||||
// converts word and doubleword to double-precision
|
||||
#undef vec_ctd
|
||||
@@ -399,10 +399,6 @@ VSX_REDIRECT_1RG(vec_ushort8, vec_ushort8, vec_popcntu, vec_popcnt)
|
||||
VSX_REDIRECT_1RG(vec_uint4, vec_uint4, vec_popcntu, vec_popcnt)
|
||||
VSX_REDIRECT_1RG(vec_udword2, vec_udword2, vec_popcntu, vec_popcnt)
|
||||
|
||||
// converts between single and double precision
|
||||
VSX_REDIRECT_1RG(vec_float4, vec_double2, vec_cvfo, __builtin_vsx_xvcvdpsp)
|
||||
VSX_REDIRECT_1RG(vec_double2, vec_float4, vec_cvfo, __builtin_vsx_xvcvspdp)
|
||||
|
||||
// converts word and doubleword to double-precision
|
||||
#ifdef vec_ctd
|
||||
# undef vec_ctd
|
||||
|
||||
Reference in New Issue
Block a user