openCV library for Renesas RZ/A

Dependents:   RZ_A2M_Mbed_samples

Committer:
RyoheiHagimoto
Date:
Fri Jan 29 04:53:38 2021 +0000
Revision:
0:0e0631af0305
copied from https://github.com/d-kato/opencv-lib.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
RyoheiHagimoto 0:0e0631af0305 1 #ifndef CV_IMGPROC_HAL_HPP
RyoheiHagimoto 0:0e0631af0305 2 #define CV_IMGPROC_HAL_HPP
RyoheiHagimoto 0:0e0631af0305 3
RyoheiHagimoto 0:0e0631af0305 4 #include "opencv2/core/cvdef.h"
RyoheiHagimoto 0:0e0631af0305 5 #include "opencv2/core/cvstd.hpp"
RyoheiHagimoto 0:0e0631af0305 6 #include "opencv2/core/hal/interface.h"
RyoheiHagimoto 0:0e0631af0305 7
RyoheiHagimoto 0:0e0631af0305 8 namespace cv { namespace hal {
RyoheiHagimoto 0:0e0631af0305 9
RyoheiHagimoto 0:0e0631af0305 10 //! @addtogroup imgproc_hal_functions
RyoheiHagimoto 0:0e0631af0305 11 //! @{
RyoheiHagimoto 0:0e0631af0305 12
RyoheiHagimoto 0:0e0631af0305 13 struct CV_EXPORTS Filter2D
RyoheiHagimoto 0:0e0631af0305 14 {
RyoheiHagimoto 0:0e0631af0305 15 static Ptr<hal::Filter2D> create(uchar * kernel_data, size_t kernel_step, int kernel_type,
RyoheiHagimoto 0:0e0631af0305 16 int kernel_width, int kernel_height,
RyoheiHagimoto 0:0e0631af0305 17 int max_width, int max_height,
RyoheiHagimoto 0:0e0631af0305 18 int stype, int dtype,
RyoheiHagimoto 0:0e0631af0305 19 int borderType, double delta,
RyoheiHagimoto 0:0e0631af0305 20 int anchor_x, int anchor_y,
RyoheiHagimoto 0:0e0631af0305 21 bool isSubmatrix, bool isInplace);
RyoheiHagimoto 0:0e0631af0305 22 virtual void apply(uchar * src_data, size_t src_step,
RyoheiHagimoto 0:0e0631af0305 23 uchar * dst_data, size_t dst_step,
RyoheiHagimoto 0:0e0631af0305 24 int width, int height,
RyoheiHagimoto 0:0e0631af0305 25 int full_width, int full_height,
RyoheiHagimoto 0:0e0631af0305 26 int offset_x, int offset_y) = 0;
RyoheiHagimoto 0:0e0631af0305 27 virtual ~Filter2D() {}
RyoheiHagimoto 0:0e0631af0305 28 };
RyoheiHagimoto 0:0e0631af0305 29
RyoheiHagimoto 0:0e0631af0305 30 struct CV_EXPORTS SepFilter2D
RyoheiHagimoto 0:0e0631af0305 31 {
RyoheiHagimoto 0:0e0631af0305 32 static Ptr<hal::SepFilter2D> create(int stype, int dtype, int ktype,
RyoheiHagimoto 0:0e0631af0305 33 uchar * kernelx_data, int kernelx_len,
RyoheiHagimoto 0:0e0631af0305 34 uchar * kernely_data, int kernely_len,
RyoheiHagimoto 0:0e0631af0305 35 int anchor_x, int anchor_y,
RyoheiHagimoto 0:0e0631af0305 36 double delta, int borderType);
RyoheiHagimoto 0:0e0631af0305 37 virtual void apply(uchar * src_data, size_t src_step,
RyoheiHagimoto 0:0e0631af0305 38 uchar * dst_data, size_t dst_step,
RyoheiHagimoto 0:0e0631af0305 39 int width, int height,
RyoheiHagimoto 0:0e0631af0305 40 int full_width, int full_height,
RyoheiHagimoto 0:0e0631af0305 41 int offset_x, int offset_y) = 0;
RyoheiHagimoto 0:0e0631af0305 42 virtual ~SepFilter2D() {}
RyoheiHagimoto 0:0e0631af0305 43 };
RyoheiHagimoto 0:0e0631af0305 44
RyoheiHagimoto 0:0e0631af0305 45
RyoheiHagimoto 0:0e0631af0305 46 struct CV_EXPORTS Morph
RyoheiHagimoto 0:0e0631af0305 47 {
RyoheiHagimoto 0:0e0631af0305 48 static Ptr<Morph> create(int op, int src_type, int dst_type, int max_width, int max_height,
RyoheiHagimoto 0:0e0631af0305 49 int kernel_type, uchar * kernel_data, size_t kernel_step,
RyoheiHagimoto 0:0e0631af0305 50 int kernel_width, int kernel_height,
RyoheiHagimoto 0:0e0631af0305 51 int anchor_x, int anchor_y,
RyoheiHagimoto 0:0e0631af0305 52 int borderType, const double borderValue[4],
RyoheiHagimoto 0:0e0631af0305 53 int iterations, bool isSubmatrix, bool allowInplace);
RyoheiHagimoto 0:0e0631af0305 54 virtual void apply(uchar * src_data, size_t src_step, uchar * dst_data, size_t dst_step, int width, int height,
RyoheiHagimoto 0:0e0631af0305 55 int roi_width, int roi_height, int roi_x, int roi_y,
RyoheiHagimoto 0:0e0631af0305 56 int roi_width2, int roi_height2, int roi_x2, int roi_y2) = 0;
RyoheiHagimoto 0:0e0631af0305 57 virtual ~Morph() {}
RyoheiHagimoto 0:0e0631af0305 58 };
RyoheiHagimoto 0:0e0631af0305 59
RyoheiHagimoto 0:0e0631af0305 60
RyoheiHagimoto 0:0e0631af0305 61 CV_EXPORTS void resize(int src_type,
RyoheiHagimoto 0:0e0631af0305 62 const uchar * src_data, size_t src_step, int src_width, int src_height,
RyoheiHagimoto 0:0e0631af0305 63 uchar * dst_data, size_t dst_step, int dst_width, int dst_height,
RyoheiHagimoto 0:0e0631af0305 64 double inv_scale_x, double inv_scale_y, int interpolation);
RyoheiHagimoto 0:0e0631af0305 65
RyoheiHagimoto 0:0e0631af0305 66 CV_EXPORTS void warpAffine(int src_type,
RyoheiHagimoto 0:0e0631af0305 67 const uchar * src_data, size_t src_step, int src_width, int src_height,
RyoheiHagimoto 0:0e0631af0305 68 uchar * dst_data, size_t dst_step, int dst_width, int dst_height,
RyoheiHagimoto 0:0e0631af0305 69 const double M[6], int interpolation, int borderType, const double borderValue[4]);
RyoheiHagimoto 0:0e0631af0305 70
RyoheiHagimoto 0:0e0631af0305 71 CV_EXPORTS void warpPerspectve(int src_type,
RyoheiHagimoto 0:0e0631af0305 72 const uchar * src_data, size_t src_step, int src_width, int src_height,
RyoheiHagimoto 0:0e0631af0305 73 uchar * dst_data, size_t dst_step, int dst_width, int dst_height,
RyoheiHagimoto 0:0e0631af0305 74 const double M[9], int interpolation, int borderType, const double borderValue[4]);
RyoheiHagimoto 0:0e0631af0305 75
RyoheiHagimoto 0:0e0631af0305 76 CV_EXPORTS void cvtBGRtoBGR(const uchar * src_data, size_t src_step,
RyoheiHagimoto 0:0e0631af0305 77 uchar * dst_data, size_t dst_step,
RyoheiHagimoto 0:0e0631af0305 78 int width, int height,
RyoheiHagimoto 0:0e0631af0305 79 int depth, int scn, int dcn, bool swapBlue);
RyoheiHagimoto 0:0e0631af0305 80
RyoheiHagimoto 0:0e0631af0305 81 CV_EXPORTS void cvtBGRtoBGR5x5(const uchar * src_data, size_t src_step,
RyoheiHagimoto 0:0e0631af0305 82 uchar * dst_data, size_t dst_step,
RyoheiHagimoto 0:0e0631af0305 83 int width, int height,
RyoheiHagimoto 0:0e0631af0305 84 int scn, bool swapBlue, int greenBits);
RyoheiHagimoto 0:0e0631af0305 85
RyoheiHagimoto 0:0e0631af0305 86 CV_EXPORTS void cvtBGR5x5toBGR(const uchar * src_data, size_t src_step,
RyoheiHagimoto 0:0e0631af0305 87 uchar * dst_data, size_t dst_step,
RyoheiHagimoto 0:0e0631af0305 88 int width, int height,
RyoheiHagimoto 0:0e0631af0305 89 int dcn, bool swapBlue, int greenBits);
RyoheiHagimoto 0:0e0631af0305 90
RyoheiHagimoto 0:0e0631af0305 91 CV_EXPORTS void cvtBGRtoGray(const uchar * src_data, size_t src_step,
RyoheiHagimoto 0:0e0631af0305 92 uchar * dst_data, size_t dst_step,
RyoheiHagimoto 0:0e0631af0305 93 int width, int height,
RyoheiHagimoto 0:0e0631af0305 94 int depth, int scn, bool swapBlue);
RyoheiHagimoto 0:0e0631af0305 95
RyoheiHagimoto 0:0e0631af0305 96 CV_EXPORTS void cvtGraytoBGR(const uchar * src_data, size_t src_step,
RyoheiHagimoto 0:0e0631af0305 97 uchar * dst_data, size_t dst_step,
RyoheiHagimoto 0:0e0631af0305 98 int width, int height,
RyoheiHagimoto 0:0e0631af0305 99 int depth, int dcn);
RyoheiHagimoto 0:0e0631af0305 100
RyoheiHagimoto 0:0e0631af0305 101 CV_EXPORTS void cvtBGR5x5toGray(const uchar * src_data, size_t src_step,
RyoheiHagimoto 0:0e0631af0305 102 uchar * dst_data, size_t dst_step,
RyoheiHagimoto 0:0e0631af0305 103 int width, int height,
RyoheiHagimoto 0:0e0631af0305 104 int greenBits);
RyoheiHagimoto 0:0e0631af0305 105
RyoheiHagimoto 0:0e0631af0305 106 CV_EXPORTS void cvtGraytoBGR5x5(const uchar * src_data, size_t src_step,
RyoheiHagimoto 0:0e0631af0305 107 uchar * dst_data, size_t dst_step,
RyoheiHagimoto 0:0e0631af0305 108 int width, int height,
RyoheiHagimoto 0:0e0631af0305 109 int greenBits);
RyoheiHagimoto 0:0e0631af0305 110 CV_EXPORTS void cvtBGRtoYUV(const uchar * src_data, size_t src_step,
RyoheiHagimoto 0:0e0631af0305 111 uchar * dst_data, size_t dst_step,
RyoheiHagimoto 0:0e0631af0305 112 int width, int height,
RyoheiHagimoto 0:0e0631af0305 113 int depth, int scn, bool swapBlue, bool isCbCr);
RyoheiHagimoto 0:0e0631af0305 114
RyoheiHagimoto 0:0e0631af0305 115 CV_EXPORTS void cvtYUVtoBGR(const uchar * src_data, size_t src_step,
RyoheiHagimoto 0:0e0631af0305 116 uchar * dst_data, size_t dst_step,
RyoheiHagimoto 0:0e0631af0305 117 int width, int height,
RyoheiHagimoto 0:0e0631af0305 118 int depth, int dcn, bool swapBlue, bool isCbCr);
RyoheiHagimoto 0:0e0631af0305 119
RyoheiHagimoto 0:0e0631af0305 120 CV_EXPORTS void cvtBGRtoXYZ(const uchar * src_data, size_t src_step,
RyoheiHagimoto 0:0e0631af0305 121 uchar * dst_data, size_t dst_step,
RyoheiHagimoto 0:0e0631af0305 122 int width, int height,
RyoheiHagimoto 0:0e0631af0305 123 int depth, int scn, bool swapBlue);
RyoheiHagimoto 0:0e0631af0305 124
RyoheiHagimoto 0:0e0631af0305 125 CV_EXPORTS void cvtXYZtoBGR(const uchar * src_data, size_t src_step,
RyoheiHagimoto 0:0e0631af0305 126 uchar * dst_data, size_t dst_step,
RyoheiHagimoto 0:0e0631af0305 127 int width, int height,
RyoheiHagimoto 0:0e0631af0305 128 int depth, int dcn, bool swapBlue);
RyoheiHagimoto 0:0e0631af0305 129
RyoheiHagimoto 0:0e0631af0305 130 CV_EXPORTS void cvtBGRtoHSV(const uchar * src_data, size_t src_step,
RyoheiHagimoto 0:0e0631af0305 131 uchar * dst_data, size_t dst_step,
RyoheiHagimoto 0:0e0631af0305 132 int width, int height,
RyoheiHagimoto 0:0e0631af0305 133 int depth, int scn, bool swapBlue, bool isFullRange, bool isHSV);
RyoheiHagimoto 0:0e0631af0305 134
RyoheiHagimoto 0:0e0631af0305 135 CV_EXPORTS void cvtHSVtoBGR(const uchar * src_data, size_t src_step,
RyoheiHagimoto 0:0e0631af0305 136 uchar * dst_data, size_t dst_step,
RyoheiHagimoto 0:0e0631af0305 137 int width, int height,
RyoheiHagimoto 0:0e0631af0305 138 int depth, int dcn, bool swapBlue, bool isFullRange, bool isHSV);
RyoheiHagimoto 0:0e0631af0305 139
RyoheiHagimoto 0:0e0631af0305 140 CV_EXPORTS void cvtBGRtoLab(const uchar * src_data, size_t src_step,
RyoheiHagimoto 0:0e0631af0305 141 uchar * dst_data, size_t dst_step,
RyoheiHagimoto 0:0e0631af0305 142 int width, int height,
RyoheiHagimoto 0:0e0631af0305 143 int depth, int scn, bool swapBlue, bool isLab, bool srgb);
RyoheiHagimoto 0:0e0631af0305 144
RyoheiHagimoto 0:0e0631af0305 145 CV_EXPORTS void cvtLabtoBGR(const uchar * src_data, size_t src_step,
RyoheiHagimoto 0:0e0631af0305 146 uchar * dst_data, size_t dst_step,
RyoheiHagimoto 0:0e0631af0305 147 int width, int height,
RyoheiHagimoto 0:0e0631af0305 148 int depth, int dcn, bool swapBlue, bool isLab, bool srgb);
RyoheiHagimoto 0:0e0631af0305 149
RyoheiHagimoto 0:0e0631af0305 150 CV_EXPORTS void cvtTwoPlaneYUVtoBGR(const uchar * src_data, size_t src_step,
RyoheiHagimoto 0:0e0631af0305 151 uchar * dst_data, size_t dst_step,
RyoheiHagimoto 0:0e0631af0305 152 int dst_width, int dst_height,
RyoheiHagimoto 0:0e0631af0305 153 int dcn, bool swapBlue, int uIdx);
RyoheiHagimoto 0:0e0631af0305 154
RyoheiHagimoto 0:0e0631af0305 155 CV_EXPORTS void cvtThreePlaneYUVtoBGR(const uchar * src_data, size_t src_step,
RyoheiHagimoto 0:0e0631af0305 156 uchar * dst_data, size_t dst_step,
RyoheiHagimoto 0:0e0631af0305 157 int dst_width, int dst_height,
RyoheiHagimoto 0:0e0631af0305 158 int dcn, bool swapBlue, int uIdx);
RyoheiHagimoto 0:0e0631af0305 159
RyoheiHagimoto 0:0e0631af0305 160 CV_EXPORTS void cvtBGRtoThreePlaneYUV(const uchar * src_data, size_t src_step,
RyoheiHagimoto 0:0e0631af0305 161 uchar * dst_data, size_t dst_step,
RyoheiHagimoto 0:0e0631af0305 162 int width, int height,
RyoheiHagimoto 0:0e0631af0305 163 int scn, bool swapBlue, int uIdx);
RyoheiHagimoto 0:0e0631af0305 164
RyoheiHagimoto 0:0e0631af0305 165 CV_EXPORTS void cvtOnePlaneYUVtoBGR(const uchar * src_data, size_t src_step,
RyoheiHagimoto 0:0e0631af0305 166 uchar * dst_data, size_t dst_step,
RyoheiHagimoto 0:0e0631af0305 167 int width, int height,
RyoheiHagimoto 0:0e0631af0305 168 int dcn, bool swapBlue, int uIdx, int ycn);
RyoheiHagimoto 0:0e0631af0305 169
RyoheiHagimoto 0:0e0631af0305 170 CV_EXPORTS void cvtRGBAtoMultipliedRGBA(const uchar * src_data, size_t src_step,
RyoheiHagimoto 0:0e0631af0305 171 uchar * dst_data, size_t dst_step,
RyoheiHagimoto 0:0e0631af0305 172 int width, int height);
RyoheiHagimoto 0:0e0631af0305 173
RyoheiHagimoto 0:0e0631af0305 174 CV_EXPORTS void cvtMultipliedRGBAtoRGBA(const uchar * src_data, size_t src_step,
RyoheiHagimoto 0:0e0631af0305 175 uchar * dst_data, size_t dst_step,
RyoheiHagimoto 0:0e0631af0305 176 int width, int height);
RyoheiHagimoto 0:0e0631af0305 177
RyoheiHagimoto 0:0e0631af0305 178 CV_EXPORTS void integral(int depth, int sdepth, int sqdepth,
RyoheiHagimoto 0:0e0631af0305 179 const uchar* src, size_t srcstep,
RyoheiHagimoto 0:0e0631af0305 180 uchar* sum, size_t sumstep,
RyoheiHagimoto 0:0e0631af0305 181 uchar* sqsum, size_t sqsumstep,
RyoheiHagimoto 0:0e0631af0305 182 uchar* tilted, size_t tstep,
RyoheiHagimoto 0:0e0631af0305 183 int width, int height, int cn);
RyoheiHagimoto 0:0e0631af0305 184
RyoheiHagimoto 0:0e0631af0305 185 //! @}
RyoheiHagimoto 0:0e0631af0305 186
RyoheiHagimoto 0:0e0631af0305 187 }}
RyoheiHagimoto 0:0e0631af0305 188
RyoheiHagimoto 0:0e0631af0305 189 #endif // CV_IMGPROC_HAL_HPP