 |
ImageD
v2_7_5 (24.06.22)
ImageD is an image processing software designed for rapid prototyping and implementing algorithms and solutions for science, research and teaching.
|
Go to the documentation of this file.
35 #include <QMainWindow>
46 #include <opencv2/core/core.hpp>
47 #include <opencv2/highgui/highgui.hpp>
48 #include <opencv2/imgproc/imgproc.hpp>
49 #include "opencv2/stitching.hpp"
67 static int Load_From_Path (
Mat *pMA_Out, QFileInfo FI_path);
68 static int Load_From_Path (
Mat *pMA_Out, QString path);
69 static int Load_From_Path (
Mat *pMA_Out,
string path);
70 static int Load_From_Path_Gray (
Mat *pMA_Out, QFileInfo FI_path);
71 static int Load_From_Path_Gray (
Mat *pMA_Out, QString path);
72 static int Load_From_Path_Gray (
Mat *pMA_Out,
string path);
73 static int Load_From_Path_Text (
Mat *pMA_Out,
string path);
74 static int Load_From_Path_Raw (
Mat *pMA_Out,
string path,
int width,
int height,
int out_type);
75 static int Load_From_Path_Multi (
Mat *pMA_Out, QString path,
unsigned int page);
77 static int Generate_byValueFunction (
Mat *pMA_Out,
int width,
int height,
function<
double (
double x,
double y)> value_function);
78 static int Generate_byValueFunction_Complex (
Mat *pMA_Out,
int width,
int height,
function<complex<double> (complex<double> x, complex<double> y)> value_function);
80 static QString Type_of_QImage (QImage *pQI_In);
81 static QString Type_of_Mat (
Mat *pMA_In);
82 static QString Type_of_Mat (
int channels,
int depth);
83 static int TypeIndex_of_Mat (
int channels,
int depth);
84 static int Channels_of_MatType (
int type);
85 static int BitDepth_of_MatType (
int type);
86 static int BitsPerPixel_of_MatType (
int type);
87 static Scalar Scalar_EqualInAllChannels (
int channels = 1,
double value = 0);
89 static int Stat_ofPixelvalues (
double *value,
Mat *pMA_In,
int stat,
bool ignore_zeros);
90 static int Quantiles_ofPixelvalues (
double *q_low,
double *q_high,
Mat *pMA_In,
double low_rel,
double high_rel,
bool ignore_zeros);
91 static int Quantiles_ofPixelvalues (vector<double> *v_q_low, vector<double> *v_q_high,
Mat *pMA_In,
double low_rel,
double high_rel,
bool ignore_zeros);
93 static int Convert_Mat_to_QImage (QImage *pQI_Out,
Mat *pMA_In,
bool use_custom_range_for_spread_non_8bit =
false,
double in_min = 0,
double in_max = 1);
94 static int Convert_QImage_to_Mat (
Mat *pMA_Out, QImage *pQI_In);
95 static int Convert_toMat4Ch (
Mat *pMA_Out,
Mat *pMA_In_Value,
Mat *pMA_In_Alpha,
bool heat_color);
96 static int Convert_toMat4Ch_8bit (
Mat *pMA_Out,
Mat *pMA_In,
int alpha_mode,
bool heat_color =
false,
bool norm_alpha =
true);
97 static int Convert_toMat4Ch_8bit (
Mat *pMA_Out,
Mat *pMA_In_Value,
Mat *pMA_In_Alpha,
bool heat_color =
false,
bool norm_alpha =
true);
98 static int Convert_toQImage4Ch (QImage *pQI_Out,
Mat *pMA_In_Value,
Mat *pMA_In_Alpha,
bool heat_color);
99 static int Convert_toQImage4Ch_8bit (QImage *pQI_Out,
Mat *pMA_In_Value,
Mat *pMA_In_Alpha,
bool heat_color =
false);
102 static int MinMax_of_Mat (
Mat *pMA_In,
double *min_ext,
double *max_ext);
103 static int MinMax_of_Mat_1C (
Mat *pMA_In,
double *min_ext,
double *max_ext);
104 static int ValAtPix (vector<double> *v_value,
Mat *pMA_In,
size_t x_pos,
size_t y_pos);
105 static int ValAtPix (QString *QS_value,
Mat *pMA_In,
unsigned int x_pos,
unsigned int y_pos);
107 static int Duplicate (
Mat *pMA_Out,
Mat *pMA_In);
108 static int Insert (
Mat *pMA_Target,
Mat *pMA_Insert,
int offset_x,
int offset_y);
109 static int Insert (
Mat *pMA_Target,
Mat *pMA_Insert,
int offset_x,
int offset_Y,
double scale);
111 static int Invert (
Mat *pMA_Out,
Mat *pMA_In);
113 static int Convert_Color (
Mat *pMA_Out,
Mat *pMA_In,
int cvt_mode);
114 static int Convert_Color_RGBA (
Mat *pMA_Out,
Mat *pMA_In,
double r,
double g,
double b,
double a,
double range_rgba = 255.0);
115 static int Convert_Color2Mono (
Mat *pMA_Out,
Mat *pMA_In,
int col2mono_code);
116 static int Convert_Depth_NoScaling (
Mat *pMA_Out,
Mat *pMA_In,
int depth);
117 static int Convert_Depth_NoScaling_1C (
Mat *pMA_Out,
Mat *pMA_In,
int depth);
118 static int Convert_8UC1 (
Mat *pMA_Out,
Mat *pMA_In);
119 static int Convert_Complex2Real_1C (
Mat *pMA_Out,
Mat *pMA_InRe,
Mat *pMA_InIm,
int mode);
120 static int Convert_Complex2Real_1C (
Mat *pMA_Out,
Mat *pMA_InComplexChannels,
int mode);
121 static int Convert_Angle2Color_Rad (
Mat *pMA_Out,
Mat *pMA_InAngleRad, uchar Saturation = 255, uchar Value = 255);
122 static int Normalize (
Mat *pMA_Out,
Mat *pMA_In,
unsigned int norm,
unsigned int type,
double min,
double max);
123 static int Spread_16_bit_to_8bit (
Mat *pMA_Out,
Mat *pMA_In,
double in_max,
double out_max);
124 static int Spread_8bit_to_float01 (
Mat *pMA_Out,
Mat *pMA_In);
125 static int Channel_Supression (
Mat *pMA_Out,
Mat *pMA_In,
bool use_r =
true,
bool use_g =
true,
bool use_b =
true,
bool force_3ch =
false);
126 static int Split (
Mat *pMA_Out,
Mat *pMA_In,
unsigned int channel);
127 static int Merge (
Mat *pMA_Out,
Mat *pMA_In0,
Mat *pMA_In1,
Mat *pMA_In2,
Mat *pMA_In3,
unsigned int channels,
bool channel_use[4]);
128 static int Sign2Color (
Mat *pMA_Out,
Mat *pMA_In,
bool norm =
false);
129 static int Duplicate2Channels (
Mat *pMA_Out,
Mat *pMA_In,
int channels);
130 static int Merge (
Mat *pMA_Out,
Mat *pMA_In0,
Mat *pMA_In1,
Mat *pMA_In2);
131 static int Merge (
Mat *pMA_Out, vector<Mat> vMA_in, vector<int> v_R, vector<int> v_G, vector<int> v_B, vector<int> v_A);
132 static int Combi_8UC1_binary (
Mat *pMA_Out,
Mat *pMA_In);
133 static int GammaSpread_1C (
Mat *pMA_Out,
Mat *pMA_In,
double gamma,
double in_min,
double in_max,
double out_min = 0,
double out_max = 255,
bool force_8bit =
false);
134 static int GammaSpread (
Mat *pMA_Out,
Mat *pMA_In,
double gamma,
double in_min,
double in_max,
double out_min = 0,
double out_max = 255,
bool force_8bit =
false);
135 static int GammaSpread (
Mat *pMA_Out,
Mat *pMA_In,
double gamma, vector<double> v_in_min, vector<double> v_in_max,
double out_min = 0,
double out_max = 255,
bool force_8bit =
false);
136 static int GammaSpread_Quantiles (
Mat *pMA_Out,
Mat *pMA_In,
double gamma,
double quantile_low,
double quantile_high,
double out_min = 0,
double out_max = 255,
bool force_8bit =
false,
bool ignore_zeros =
true);
137 static int Visualize_to8bit (
Mat *pMA_Out,
Mat *pMA_In,
int mode_crop,
int mode_trafo,
int mode_anchor,
int mode_range,
double val_anchor,
double val_range,
double val_min,
double val_max,
double val_gamma,
double val_center,
double val_scale,
bool keep_min_max =
false,
int mode_complex =
c_COMPLEX2REAL_RE_IM);
138 static int Visualize_to8bit_1C (
Mat *pMA_Out,
Mat *pMA_In,
int mode_trafo,
int mode_anchor,
int mode_range,
double val_anchor,
double val_range,
double crop_min,
double crop_max,
double val_gamma,
double val_center,
double val_scale);
140 static int Crop_Rect_Rel (
Mat *pMA_Out,
Mat *pMA_In,
double x1_rel,
double y1_rel,
double x2_rel,
double y2_rel);
141 static int Crop_Rect_Rel (
Mat *pMA_Out,
Mat *pMA_In,
double x1_rel,
double y1_rel,
double x2_rel,
double y2_rel,
int *offset_x,
int *offset_y,
int *width,
int *heigth);
142 static int Crop_Rect_Abs (
Mat *pMA_Out,
Mat *pMA_In,
int x,
int y,
int width,
int height);
143 static int Crop_Rect_Rot (
Mat *pMA_Out,
Mat *pMA_In,
int x,
int y,
int width,
int height,
double angle);
145 static int Crop_Circle (
Mat *pMA_Out,
Mat *pMA_In,
int x,
int y,
int r);
146 static int Zoom (
Mat *pMA_Out,
Mat *pMA_In,
double x_rel,
double y_rel,
double factor);
147 static int Zoom (
Mat *pMA_Out,
Mat *pMA_In,
double x_rel,
double y_rel,
double factor,
int *offset_x,
int *offset_y,
int *width,
int *heigth);
149 static int Padding (
Mat *pMA_Out,
Mat *pMA_In,
int right,
int left,
int top,
int bottom,
int type =
BORDER_CONSTANT);
150 static int Padding_1C (
Mat *pMA_Out,
Mat *pMA_In,
int right,
int left,
int top,
int bottom,
int type =
BORDER_CONSTANT);
151 static int ForceSize (
Mat *pMA_Out,
Mat *pMA_In,
int width,
int heigth,
int border_type =
BORDER_CONSTANT);
152 static int Stitch_Border_abs (
Mat *pMA_Out,
Mat *pMA_In_Main,
Mat *pMA_In_R,
Mat *pMA_In_B,
Mat *pMA_In_BR,
int border_R,
int border_B,
int overlap_R,
int overlap_B, Stitcher::Mode mode = Stitcher::SCANS);
153 static int Stitch_Border_rel (
Mat *pMA_Out,
Mat *pMA_In_Main,
Mat *pMA_In_R,
Mat *pMA_In_B,
Mat *pMA_In_BR,
double border_R,
double border_B,
double overlap_R,
double overlap_B, Stitcher::Mode mode = Stitcher::SCANS);
154 static int Stitch_Border_abs_custom (
Mat *pMA_Out,
Mat *pMA_In_Main,
Mat *pMA_In_R,
Mat *pMA_In_B,
Mat *pMA_In_BR,
int border_R,
int border_B,
int overlap_R,
int overlap_B);
155 static int Stitch_Border_rel_custom (
Mat *pMA_Out,
Mat *pMA_In_Main,
Mat *pMA_In_R,
Mat *pMA_In_B,
Mat *pMA_In_BR,
double border_R,
double border_B,
double overlap_R,
double overlap_B);
157 static int Scale_Factor (
Mat *pMA_Out,
Mat *pMA_In,
double scale_x,
double scale_y);
158 static int Scale_ToSize (
Mat *pMA_Out,
Mat *pMA_In,
int size_x,
int size_y);
160 static int Threshold_Relative (
Mat *pMA_Out,
Mat *pMA_In,
double max_val,
double thres_rel);
161 static int Threshold_Relative_1C (
Mat *pMA_Out,
Mat *pMA_In,
double max_val,
double thres_rel);
162 static int Threshold_Absolute (
Mat *pMA_Out,
Mat *pMA_In,
double thres_abs);
163 static int Threshold_Absolute_1C (
Mat *pMA_Out,
Mat *pMA_In,
double thres_abs);
164 static int Threshold_Value (
Mat *pMA_Out,
Mat *pMA_In,
int out_mode,
double max_val,
double thres);
165 static int Threshold_Auto (
Mat *pMA_Out,
Mat *pMA_In,
int out_mode,
double max_val,
int auto_mode);
166 static int Threshold_Adaptive (
Mat *pMA_Out,
Mat *pMA_In,
int out_mode,
double max_val,
int adapt_mode,
unsigned int mask_size,
double offset);
167 static int Threshold_Adaptive_Gauss (
Mat *pMA_Out,
Mat *pMA_In,
int size,
double sigma,
double offset,
double scale);
168 static int Threshold_Adaptive_Gauss_1C (
Mat *pMA_Out,
Mat *pMA_In,
int size,
double sigma,
double offset,
double scale);
169 static int Threshold_RankOrderOffsetHysteresis (
Mat *pMA_Out,
Mat *pMA_In,
double radius,
double quantile,
double thresh_offset_indicator,
double thresh_offset_hysteresis,
bool labeling =
false);
170 static int Threshold_BlurThres (
Mat *pMA_Out,
Mat *pMA_In,
int size,
double sigma,
double thres);
171 static int Color_Grab (
Mat *pMA_Out,
Mat *pMA_In,
int color_space,
int out_mode, vector<uchar> min, vector<uchar> max);
173 static int Morphology_Elemental (
Mat *pMA_Out,
Mat *pMA_In,
int morph_type,
int elem_type,
unsigned int elem_size_X,
unsigned int elem_size_Y,
int border_type,
unsigned int iterations);
174 static int Morphology_Skeleton (
Mat *pMA_Out,
Mat *pMA_In,
int elem_type,
unsigned int elem_size_X,
unsigned int elem_size_Y,
int border_type);
175 static int Morphology_Thinning (
Mat *pMA_Out,
Mat *pMA_In,
int thinning_type);
176 static int Morphology_Thinning_Iteration (
Mat img,
int iter,
int thinning_type);
177 static int Morphology_Erode_Rect (
Mat *pMA_Out,
Mat *pMA_In,
int elem_size_X,
int elem_size_Y);
178 static int Morphology_Dilate_Rect (
Mat *pMA_Out,
Mat *pMA_In,
int elem_size_X,
int elem_size_Y);
179 static int Morphology_LocMax_Rect (
Mat *pMA_Out,
Mat *pMA_In,
int elem_size_X = 3,
int elem_size_Y = 3);
181 static int Morphology_Reconstruction (
Mat *pMA_Out,
Mat *pMA_InSeed,
Mat *pMA_InLimit,
Mat *pMA_Mask,
double quantil = 1);
183 static int Transformation_Distance (
Mat *pMA_Out,
Mat *pMA_In,
int metric,
int precision);
185 static int Transformation_Watershed (
Mat *pMA_Out,
Mat *pMA_In,
Mat *pMA_Marker);
186 static int Transformation_Watershed_Auto (
Mat *pMA_Out,
Mat *pMA_In,
Mat *pMA_Marker,
bool include_not_seeded,
bool conv_8bit,
bool exclude_border);
187 static int Transformation_Watershed_Auto (
Mat *pMA_Out,
Mat *pMA_In,
double distance,
bool include_not_seeded,
bool conv_8bit,
bool exclude_border);
188 static int Transformation_Watershed_Auto (
Mat *pMA_Out,
Mat *pMA_In,
int size,
double sigma,
bool include_not_seeded,
bool conv_8bit,
bool exclude_border);
189 static int Transformation_Watershed_Custom (
Mat *pMA_Out,
Mat *pMA_In2Fill,
Mat *pMA_InMarker,
Mat *pMA_FG_Mask,
int mode_flood,
int mode_marker,
int mode_mask,
int connectivity = 8,
int gauss_size = 5,
double gauss_sigma = 2,
int morphgrad_elem =
MORPH_ELLIPSE,
int morphgrad_size = 3,
double thresh = 127,
bool exclude_border =
true,
bool include_non_seeded =
true,
bool draw_watersheds =
true);
190 static int Transformation_Watershed_Custom (
Mat *pMA_Out,
Mat *pMA_In2Fill,
Mat *pMA_InMarker,
Mat *pMA_FG_Mask,
int connectivity = 8);
191 static int Transformation_Fourier (
Mat *pMA_Out,
Mat *pMA_In,
bool invers);
192 static int Transformation_Fourier (
Mat *pMA_Out,
Mat *pMA_In_Re,
bool invers =
false,
bool force_fft =
true,
bool out_real =
false,
int out_complex_mode =
c_COMPLEX2REAL_ABS,
bool out_scale =
false,
bool out_center =
true,
bool out_nof0 =
true);
193 static int Transformation_Fourier (
Mat *pMA_Out,
Mat *pMA_In_Re,
Mat *pMA_In_Im,
bool complex_input,
bool invers =
false,
bool force_fft =
true,
bool out_real =
false,
int out_complex_mode =
c_COMPLEX2REAL_ABS,
bool out_scale =
false,
bool out_center =
true,
bool out_nof0 =
true);
194 static int Transformation_Fourier_1C (
Mat *pMA_Out,
Mat *pMA_In_Re,
Mat *pMA_In_Im,
bool invers =
false,
bool force_fft =
true,
bool out_real =
false,
int out_complex_mode =
c_COMPLEX2REAL_ABS,
bool out_scale =
false,
bool out_center =
true,
bool out_nof0 =
true);
196 static int Segmentation_GaussDistWater (
Mat *pMA_Out,
Mat *pMA_In,
int size,
double sigma,
double thres,
double distance,
bool include_not_seeded,
bool conv_8bit,
bool exclude_border);
198 static int Filter_Box (
Mat *pMA_Out,
Mat *pMA_In,
int size_x,
int size_y,
int border,
int out_depth,
bool norm);
199 static int Filter_Box_RMS (
Mat *pMA_Out,
Mat *pMA_In,
int size_x,
int size_y,
int border,
int out_depth,
bool norm);
200 static int Filter_Gauss (
Mat *pMA_Out,
Mat *pMA_In,
int size_x,
int size_y,
int border,
double sigma_x,
double sigma_y);
201 static int Filter_Median (
Mat *pMA_Out,
Mat *pMA_In,
int size);
202 static int Filter_Median (
Mat *pMA_Out,
Mat *pMA_In,
Mat *pMA_Mask);
203 static int Filter_RankOrder (
Mat *pMA_Out,
Mat *pMA_In,
Mat *pMA_Mask,
double quantil_relPos);
204 static int Filter_RankOrder_Circular (
Mat *pMA_Out,
Mat *pMA_In,
double quantil_relPos,
double radius);
205 static int Filter_RankOrder_Rect (
Mat *pMA_Out,
Mat *pMA_In,
double quantil_relPos,
int size_x,
int size_y);
206 static int Filter_RankOrder_1C (
Mat *pMA_Out,
Mat *pMA_In,
Mat *pMA_Mask,
double quantil_relPos);
207 static int Filter_RankOrder_1C_Thread (
Mat *pMA_Out,
Mat *pMA_InPadded,
Mat *pMA_Mask,
double quantil_relPos,
size_t img_in_sx,
size_t y_start,
size_t y_end,
double val_max,
size_t mask_relevant_px_count, vector<Point> *vBorderL, vector<Point> *vBorderR, vector<Point> *vBorderT, vector<Point> *vBorderB);
208 static int Filter_Maximum_1C (
Mat *pMA_Out,
Mat *pMA_In,
size_t mask_size_x,
size_t mask_size_y);
209 static int Filter_Maximum_1C_Thread_X (
Mat *pMA_Out,
Mat *pMA_In,
size_t mask_size_x,
size_t n_in_x,
size_t y_start,
size_t y_end);
210 static int Filter_Maximum_1C_Thread_Y (
Mat *pMA_Out,
Mat *pMA_In,
size_t mask_size_x,
size_t mask_size_y,
size_t n_in_y,
size_t x_start,
size_t x_end);
212 static int Filter_Laplace (
Mat *pMA_Out,
Mat *pMA_In,
int size,
int border,
int out_depth,
double scale,
double delta);
213 static int Filter_LaplaceOfGaussian (
Mat *pMA_Out,
Mat *pMA_In,
int size_g,
double sigma_g,
int size_l,
int border,
int out_depth,
double scale,
double delta);
214 static int Filter_Sobel (
Mat *pMA_Out,
Mat *pMA_In,
int size,
int border,
int out_depth,
double scale,
double delta,
int d_x,
int d_y);
215 static int Filter_Scharr (
Mat *pMA_Out,
Mat *pMA_In,
int border,
int out_depth,
double scale,
double delta,
int d_x,
int d_y);
216 static int Filter_Canny (
Mat *pMA_Out,
Mat *pMA_In,
int size,
double thres_low,
double thres_high,
bool L2_gradient);
217 static int Filter_Bilateral (
Mat *pMA_Out,
Mat *pMA_In,
int diameter,
int border,
double sigma_color,
double sigma_space);
218 static int Filter_Gabor (
Mat *pMA_Out,
Mat *pMA_In,
int size_x,
int size_y,
int border,
int out_depth,
double sigma,
double theta,
double lambda,
double gamma,
double psi,
double delta);
220 static int Filter_Eilenstein_Prototype (
Mat *pMA_Out,
Mat *pMA_In,
bool cmp_fkt(
double,
double,
double),
unsigned int size_x,
unsigned int size_y,
bool normalized,
double constant);
221 static int Filter_Eilenstein_1C (
Mat *pMA_Out,
Mat *pMA_In,
int comp,
unsigned int size_x,
unsigned int size_y,
bool normalized,
double constant);
222 static int Filter_Eilenstein (
Mat *pMA_Out,
Mat *pMA_In,
int comp,
unsigned int size_x,
unsigned int size_y,
bool normalized,
double constant);
223 static int Filter_Eilenstein (
Mat *pMA_Out,
Mat *pMA_In,
Mat *pMA_Mask,
function<
double (
double cur,
double nei)> response_CurNei,
function<
double (
double res,
double wei)> weight_ResWeigth,
function<
double (vector<double> v_res)> combine_Responses);
224 static int Filter_Eilenstein_1C (
Mat *pMA_Out,
Mat *pMA_In,
Mat *pMA_Mask,
function<
double (
double cur,
double nei)> response_CurNei,
function<
double (
double res,
double wei)> weight_ResWeigth,
function<
double (vector<double> v_res)> combine_Responses);
226 static int Filter_Function (
Mat *pMA_Out,
Mat *pMA_In,
Mat *pMA_Mask,
function<
double (
double cur,
double nei)> F1_CenterImage,
function<
double (
double f1r,
double msk)> F2_f1mask,
function<
double (vector<double> vf2r)> F3_Combine,
function<
double (
double f3r,
double cen)> F4_f3center,
int border_type =
BORDER_CONSTANT,
bool DoNonZeroMaskOnly =
false);
227 static int Filter_Function_1C (
Mat *pMA_Out,
Mat *pMA_In,
Mat *pMA_Mask,
function<
double (
double cur,
double nei)> F1_CenterImage,
function<
double (
double f1r,
double msk)> F2_f1mask,
function<
double (vector<double> vf2r)> F3_Combine,
function<
double (
double f3r,
double cen)> F4_f3center,
int border_type =
BORDER_CONSTANT,
int thread_number = 8,
bool DoNonZeroMaskOnly =
false);
228 static int Filter_Function_1C_Thread (
Mat *pMA_Out,
Mat *pMA_In,
Mat *pMA_Mask,
function<
double (
double cur,
double nei)> F1_CenterImage,
function<
double (
double f1r,
double msk)> F2_f1mask,
function<
double (vector<double> vf2r)> F3_Combine,
function<
double (
double f3r,
double cen)> F4_f3center,
int row_start,
int row_end,
int col_start,
int col_end,
bool DoNonZeroMaskOnly =
false);
229 static int Filter_Function_8bit (
Mat *pMA_Out,
Mat *pMA_In,
Mat *pMA_Mask,
function<uchar (
double cur,
double nei)> F1_CenterImage,
function<uchar (
double f1r,
double msk)> F2_f1mask,
function<uchar (vector<double> vf2r)> F3_Combine,
function<uchar (
double f3r,
double cen)> F4_f3center,
int border_type =
BORDER_CONSTANT,
bool DoNonZeroMaskOnly =
false);
230 static int Filter_Function_8bit_1C (
Mat *pMA_Out,
Mat *pMA_In,
Mat *pMA_Mask,
function<uchar (
double cur,
double nei)> F1_CenterImage,
function<uchar (
double f1r,
double msk)> F2_f1mask,
function<uchar (vector<double> vf2r)> F3_Combine,
function<uchar (
double f3r,
double cen)> F4_f3center,
int border_type =
BORDER_CONSTANT,
int thread_number = 8,
bool DoNonZeroMaskOnly =
false);
231 static int Filter_Function_8bit_1C_Thread (
Mat *pMA_Out,
Mat *pMA_In,
Mat *pMA_Mask,
function<uchar (
double cur,
double nei)> F1_CenterImage,
function<uchar (
double f1r,
double msk)> F2_f1mask,
function<uchar (vector<double> vf2r)> F3_Combine,
function<uchar (
double f3r,
double cen)> F4_f3center,
int row_start,
int row_end,
int col_start,
int col_end,
bool DoNonZeroMaskOnly =
false);
234 static int Filter_Stat_Circular (
Mat *pMA_Out,
Mat *pMA_In,
double radius,
int stat,
int border_type =
BORDER_CONSTANT);
235 static int Filter_Stat_Rect (
Mat *pMA_Out,
Mat *pMA_In,
int size_x,
int size_y,
int stat,
int border_type =
BORDER_CONSTANT);
237 static int Fill_Holes (
Mat *pMA_Out,
Mat *pMA_In);
238 static int Exclude_BorderConnected (
Mat *pMA_Out,
Mat *pMA_In);
239 static int Labeling (
Mat *pMA_Out,
Mat *pMA_In,
int connectivity,
int out_depth);
264 static int Math_Add (
Mat *pMA_Out,
Mat *pMA_In1,
double summand);
265 static int Math_Add (
Mat *pMA_Out,
Mat *pMA_In1,
Mat *pMA_In2);
266 static int Math_Add (
Mat *pMA_Out,
Mat *pMA_In1,
Mat *pMA_In2,
double summand);
267 static int Math_Add (
Mat *pMA_Out,
Mat *pMA_In1,
Mat *pMA_In2,
Mat *pMA_In3);
268 static int Math_Add (
Mat *pMA_Out,
Mat *pMA_In1,
Mat *pMA_In2,
Mat *pMA_In3,
double summand);
269 static int Math_Add (
Mat *pMA_Out,
Mat *pMA_In1,
Mat *pMA_In2,
Mat *pMA_In3,
Mat *pMA_In4);
270 static int Math_Add (
Mat *pMA_Out,
Mat *pMA_In1,
Mat *pMA_In2,
Mat *pMA_In3,
Mat *pMA_In4,
double summand);
271 static int Math_Mult (
Mat *pMA_Out,
Mat *pMA_In1,
double factor);
272 static int Math_Mult (
Mat *pMA_Out,
Mat *pMA_In1,
Mat *pMA_In2);
273 static int Math_Mult (
Mat *pMA_Out,
Mat *pMA_In1,
Mat *pMA_In2,
double factor);
274 static int Math_Mult (
Mat *pMA_Out,
Mat *pMA_In1,
Mat *pMA_In2,
Mat *pMA_In3);
275 static int Math_Mult (
Mat *pMA_Out,
Mat *pMA_In1,
Mat *pMA_In2,
Mat *pMA_In3,
double factor);
276 static int Math_Mult (
Mat *pMA_Out,
Mat *pMA_In1,
Mat *pMA_In2,
Mat *pMA_In3,
Mat *pMA_In4);
277 static int Math_Mult (
Mat *pMA_Out,
Mat *pMA_In1,
Mat *pMA_In2,
Mat *pMA_In3,
Mat *pMA_In4,
double factor);
278 static int Math_And (
Mat *pMA_Out,
Mat *pMA_In1,
Mat *pMA_In2);
279 static int Math_And (
Mat *pMA_Out,
Mat *pMA_In1,
Mat *pMA_In2,
Mat *pMA_In3);
280 static int Math_And (
Mat *pMA_Out,
Mat *pMA_In1,
Mat *pMA_In2,
Mat *pMA_In3,
Mat *pMA_In4);
281 static int Math_Or (
Mat *pMA_Out,
Mat *pMA_In1,
Mat *pMA_In2);
282 static int Math_Or (
Mat *pMA_Out,
Mat *pMA_In1,
Mat *pMA_In2,
Mat *pMA_In3);
283 static int Math_Or (
Mat *pMA_Out,
Mat *pMA_In1,
Mat *pMA_In2,
Mat *pMA_In3,
Mat *pMA_In4);
284 static int Math_Magnitude (
Mat *pMA_Out,
Mat *pMA_In1,
Mat *pMA_In2);
285 static int Math_MagnitudeSquared (
Mat *pMA_Out,
Mat *pMA_In1,
Mat *pMA_In2);
286 static int Math_Phase (
Mat *pMA_Out,
Mat *pMA_In1,
Mat *pMA_In2);
287 static int Math_LimitTop (
Mat *pMA_Out,
Mat *pMA_InThresh,
Mat *pMA_InToLimit);
288 static int Math_LimitTop (
Mat *pMA_Target,
Mat *pMA_InThresh);
290 static bool Check_IsSimilar (
Mat *pMA_In1,
Mat *pMA_In2);
291 static bool Check_GreaterValue (
Mat *pMA_InSmaller,
Mat *pMA_InGreater);
294 static int Math_ImgSelf_Not (
Mat *pMA_Out,
Mat *pMA_In);
295 static int Math_ImgScal_Add (
Mat *pMA_Out,
Mat *pMA_In,
double summmand);
296 static int Math_ImgScal_Sub (
Mat *pMA_Out,
Mat *pMA_In,
double subtrahend);
297 static int Math_ScalImg_Sub (
Mat *pMA_Out,
Mat *pMA_In,
double minuend);
298 static int Math_ImgScal_Mult (
Mat *pMA_Out,
Mat *pMA_In,
double factor);
299 static int Math_ImgScal_Div (
Mat *pMA_Out,
Mat *pMA_In,
double divisor);
300 static int Math_ImgScal_Pow (
Mat *pMA_Out,
Mat *pMA_In,
double power);
301 static int Math_ImgScal_Root (
Mat *pMA_Out,
Mat *pMA_In);
302 static int Math_ImgScal_Log (
Mat *pMA_Out,
Mat *pMA_In);
303 static int Math_ImgImg_Add (
Mat *pMA_Out,
Mat *pMA_In1,
Mat *pMA_In2);
304 static int Math_ImgImg_AddWeighted (
Mat *pMA_Out,
Mat *pMA_In1,
Mat *pMA_In2,
double weight_1,
double weight_2,
double weight_sum);
305 static int Math_ImgImg_Diff (
Mat *pMA_Out,
Mat *pMA_In1,
Mat *pMA_In2);
306 static int Math_ImgImg_DiffAbs (
Mat *pMA_Out,
Mat *pMA_In1,
Mat *pMA_In2);
307 static int Math_ImgImg_Mult (
Mat *pMA_Out,
Mat *pMA_In1,
Mat *pMA_In2,
double scale);
308 static int Math_ImgImg_Div (
Mat *pMA_Out,
Mat *pMA_In1,
Mat *pMA_In2,
double scale);
309 static int Math_ImgImg_BitAnd (
Mat *pMA_Out,
Mat *pMA_In1,
Mat *pMA_In2);
310 static int Math_ImgImg_BitOr (
Mat *pMA_Out,
Mat *pMA_In1,
Mat *pMA_In2);
311 static int Math_ImgImg_BitXor (
Mat *pMA_Out,
Mat *pMA_In1,
Mat *pMA_In2);
312 static int Math_ImgImg_Min (
Mat *pMA_Out,
Mat *pMA_In1,
Mat *pMA_In2);
313 static int Math_ImgImg_Max (
Mat *pMA_Out,
Mat *pMA_In1,
Mat *pMA_In2);
314 static int Math_ImgImg_Comp (
Mat *pMA_Out,
Mat *pMA_In1,
Mat *pMA_In2,
int comp);
315 static int Math_ImgImg_Function (
Mat *pMA_Out,
Mat *pMA_In1,
Mat *pMA_In2,
function<
double (
double x,
double y)> function_img1_img2);
316 static int Math_ImgImg_Function_8bit (
Mat *pMA_Out,
Mat *pMA_In1,
Mat *pMA_In2,
function<uchar (
double x,
double y)> function_img1_img2);
317 static int Math_ImgImg_Function_Complex(
Mat *pMA_Out,
Mat *pMA_In1,
Mat *pMA_In2,
function<complex<double> (complex<double> x, complex<double> y)> function_img1_img2);
319 static int Math_ImgStack_StatCombine (
Mat *pMA_Out, vector<Mat> *pvMA_In0, vector<Mat> *pvMA_In1,
function<
double (vector<double>)> f_stat_0,
function<
double (vector<double>)> f_stat_1,
function<
double (
double,
double)> f_combi,
bool force8bit);
320 static int Math_ImgStack_StatCombine_Thread (
Mat *pMA_Out, vector<Mat> *pvMA_In0, vector<Mat> *pvMA_In1,
function<
double (vector<double>)> f_stat_0,
function<
double (vector<double>)> f_stat_1,
function<
double (
double,
double)> f_combi,
bool force8bit,
int row_start,
int row_end);
321 static int Math_Special_Add_Color (
Mat *pMA_Out,
Mat *pMA_In_Color,
Mat *pMA_In0,
Mat *pMA_In1,
Mat *pMA_In2);
322 static int Math_Special_NADH (
Mat *pMA_NADH,
Mat *pMA_I,
Mat *pMA_A2,
Mat *pMA_T1,
Mat *pMA_T2,
float k,
bool ignore_0,
float T2_Max_Thres,
float T2_Max_Const);
323 static int Math_Special_NADPH (
Mat *pMA_NADPH,
Mat *pMA_I,
Mat *pMA_A2,
Mat *pMA_T1,
Mat *pMA_T2,
float k,
bool ignore_0,
float T2_Min_Thres,
float T2_Min_Const);
324 static int Math_Special_NADPH_NADH (
Mat *pMA_NADPH_NADH,
Mat *pMA_T2,
bool ignore_0,
float T2_Min_Thres,
float T2_Max_Thres,
float T2_Min_Const,
float T2_Max_Const);
325 static int Math_Special_Trans2Count (
Mat *pMA_Count,
Mat *pMA_Trans,
float base,
float scale);
326 static int Math_Special_IncreaseIfSet (
Mat *pMA_Count,
Mat *pMA_Check);
329 static int Matrix_Product (
Mat *pMA_Out,
Mat *pMA_In1,
Mat *pMA_In2);
330 static int Matrix_Inversion (
Mat *pMA_Out,
Mat *pMA_In);
331 static int Matrix_Transpose (
Mat *pMA_Out,
Mat *pMA_In);
333 static int Shading_Correct (
Mat *pMA_Out,
Mat *pMA_In,
Mat *pMA_Reference);
335 static int Mask (
Mat *pMA_Out,
Mat *pMA_In,
Mat *pMA_Mask);
336 static int Mask_1C (
Mat *pMA_Out,
Mat *pMA_In,
Mat *pMA_Mask);
337 static int Value_to_MinOrMax (
Mat *pMA_Out,
Mat *pMA_In,
double val_src,
bool to_min);
338 static int Value_to_Value (
Mat *pMA_Out,
Mat *pMA_In,
double val_src,
double val_dst);
340 static int Histo_Equal (
Mat *pMA_Out,
Mat *pMA_In);
342 static int Calc_Hist (
Mat *pMA_Hist,
Mat *pMA_In,
bool uniform,
bool accum);
343 static int Calc_Hist (vector<vector<double>> *vv_hist,
Mat *pMA_In,
bool uniform,
bool accum);
344 static int Calc_Hist_1C (vector<double> *v_hist,
Mat *pMA_In,
bool uniform,
bool accum,
unsigned int class_count,
double *min_ext,
double *max_ext,
double *step_ext);
345 static int Calc_Hist_Multi (vector<vector<double>> *vv_hist,
Mat *pMA_In,
bool uniform,
bool accum,
unsigned int class_count, vector<double> *v_min_ext, vector<double> *v_max_ext, vector<double> *v_step_ext);
347 static int Calc_LUT (vector<int> *vLUT,
Mat *pMA_Label);
348 static int Split_img2vv_value (vector<vector<double>> *vv_data_LabPix,
Mat *pMA_Value,
Mat *pMA_Label,
bool ignore_0);
349 static int Split_img2vv_coord (vector<vector<Point>> *vvp_data_LabCooPt,
Mat *pMA_Label);
350 static int Split_img2components (
D_Component_List *pCompList,
Mat *pMA_In,
int connectivity = 8);
351 static int Split_ObjectAreas (vector<double> *v_objects, vector<double> *v_areas,
Mat *pMA_Label,
Mat *pMA_Objects,
int connectivity);
353 static int LUT_Apply_to_Label_Int (
Mat *pMA_Out,
Mat *pMA_Label, vector<int> vLUT);
354 static int LUT_Apply_to_Label_Double (
Mat *pMA_Out,
Mat *pMA_Label, vector<double> vLUT,
bool LUT_has_BG_label =
true);
355 static int LUT_Apply_to_Label_Uchar (
Mat *pMA_Out,
Mat *pMA_Label, vector<uchar> vLUT,
bool LUT_has_BG_label =
true);
356 static int LUT_Apply_to_Label_Binary (
Mat *pMA_Out,
Mat *pMA_Label, vector<int> vLUT,
bool ignore_BG =
true);
357 static int LUT_Apply_to_Label_TrueFalse(
Mat *pMA_Out_true,
Mat *pMA_Out_false,
Mat *pMA_Label, vector<int> vLUT,
bool edges =
true,
bool ignore_BG =
true);
358 static int LUT_Apply_to_Label_Color (
Mat *pMA_Out,
Mat *pMA_In,
Mat *pMA_Label, vector<int> vLUT,
int channel_true,
int channel_false,
bool edges =
true,
bool ignore_BG =
true);
360 static int Feature_Value (
Mat *pMA_Out,
Mat *pMA_In,
int feature,
int connectivity = 4);
361 static int FeatureContext_Value (
Mat *pMA_Out,
Mat *pMA_In,
int pt_type1,
int pt_type2,
double dist_min,
double dist_max,
int feat,
int stat,
int connectivity = 4);
362 static int Feature_Select (
Mat *pMA_Out,
Mat *pMA_In,
int feature,
double f_min,
double f_max,
int connectivity = 4);
363 static int FeatureContext_Select (
Mat *pMA_Out,
Mat *pMA_In,
int pt_type1,
int pt_type2,
double dist_min,
double dist_max,
int feat,
int stat,
double t_min,
double t_max,
int connectivity = 4);
364 static int Feature_Visualize (
Mat *pMA_Out,
Mat *pMA_In,
int feature,
int connectivity = 4,
int thickness = 1,
double scale = 1);
365 static int Feature_Connect (
Mat *pMA_Out,
Mat *pMA_In,
int pt_type1,
int pt_type2,
double dist_min,
double dist_max,
int feat1,
int feat2,
function<
bool(
double,
double)> comp,
int connect_mode =
c_CONNECT_CLOSEST,
int connectivity = 4,
int thickness = 2);
367 static int ValueStat (
Mat *pMA_Out,
Mat *pMA_InLabel,
Mat *pMA_InValue,
int stat,
int connectivity = 8);
368 static int ValueStat_Select (
Mat *pMA_Out,
Mat *pMA_InLabel,
Mat *pMA_InValue,
int stat,
double thresh_min,
double thresh_max,
int connectivity = 8);
370 static int Detect_CornerHarris (
Mat *pMA_Out,
Mat *pMA_In,
int blockSize,
int sobelAperture,
double harrisParam,
double thres);
372 static int Select_Area (
Mat *pMA_Out,
Mat *pMA_In,
unsigned int area_min,
unsigned int area_max,
int connectivity);
374 static int Reduce_Geometric (
Mat *pMA_Out,
Mat *pMA_In,
int geometric,
int connectivity = 8,
int thickness = 1, uchar value = 255);
375 static int Reduce_Outlines (
Mat *pMA_Out,
Mat *pMA_In,
int neighborhood = 8,
int thickness = 1);
376 static int Reduce_Centroid (
Mat *pMA_Out,
Mat *pMA_In,
int thickness = 1);
377 static int Reduce_Contours (
Mat *pMA_Out,
Mat *pMA_In,
int thickness = 1);
379 static int Calc_Centroids (vector<Point2f> *pvCentroids,
Mat *pMA_In,
int connectivity = 8);
381 static int Floodfill (
Mat *pMA_Out,
Mat *pMA_In,
unsigned int seed_x,
unsigned int seed_y,
double new_val);
382 static int Floodfill (
Mat *pMA_Target,
unsigned int seed_x,
unsigned int seed_y,
double new_val);
383 static int Floodfill_Boundary (
Mat *pMA_Out,
Mat *pMA_In,
double new_val);
384 static int Floodfill_Delta (
Mat *pMA_Out,
Mat *pMA_In,
int seed_x,
int seed_y, uchar val_new, uchar val_delta);
385 static bool Floodfill_Delta_Step (
Mat *pMA_Target,
Mat *pMA_Check,
int x,
int y,
int dx,
int dy,
int val_new,
int val_delta,
int val_origin);
386 static int Hysteresis (
Mat *pMA_Out,
Mat *pMA_In_Indicator,
Mat *pMA_In_Hysteresis,
bool labeling =
false);
388 static int ImgStackToRow (
Mat *pMA_Out, vector<Mat> *pvMA_In, vector<vector<QString>> vvQS_LabelText_Img_Line,
int text_thickness = 1,
double text_scale = 1.0,
int line_height = 10,
int frame_thickness = 2);
389 static int ImgStackToGrid (
Mat *pMA_Out, vector<Mat> *pvMA_In, vector<vector<QString>> vvQS_LabelText_Img_Line,
size_t maxPerRow,
int text_thickness = 1,
double text_scale = 1.0,
int line_height = 10,
int frame_thickness = 2);
391 static int Draw_Dot (
Mat *pMA_Target,
int x,
int y,
int d, uchar val);
392 static int Draw_Dots (
Mat *pMA_Target, vector<Point2f> vCenters, vector<double> vDiameters, uchar val);
393 static int Draw_Dots (
Mat *pMA_Target, vector<Point> vCenters, vector<double> vDiameters, uchar val);
394 static int Draw_Dot (
Mat *pMA_Target,
int x,
int y,
int r, uchar val_r, uchar val_g, uchar val_b);
395 static int Draw_Line (
Mat *pMA_Target,
unsigned int x1,
unsigned int y1,
unsigned int x2,
unsigned int y2,
unsigned int thickness = 1,
double value = 255);
396 static int Draw_Line (
Mat *pMA_Target,
unsigned int x1,
unsigned int y1,
unsigned int x2,
unsigned int y2,
unsigned int thickness,
double val_r,
double val_g,
double val_b);
397 static int Draw_Line (
Mat *pMA_Target,
Point P1,
Point P2,
unsigned int thickness,
double val_r,
double val_g,
double val_b);
398 static int Draw_Line_Bresenham (
Mat *pMA_Target,
Point P1,
Point P2,
double val);
399 static int Draw_Line_Angle (
Mat *pMA_Target,
double length,
double center_x,
double center_y,
double angle,
unsigned int thickness = 1,
double value = 255);
400 static int Draw_Vector (
Mat *pMA_Target,
int offset_x,
int offset_y,
double length_value,
double angle_value,
double length_error = 0,
double angle_error = 0,
int vector_thickness = 1, uchar value = 255,
int error_steps = 360,
int error_thickness = 1);
401 static int Draw_Arc (
Mat *pMA_Target,
int offset_x,
int offset_y,
double arc_angle,
double arc_orientation,
double radius,
int line_thickness = 1, uchar value = 255,
int draw_arc_steps = 360);
402 static int Draw_Arc (
Mat *pMA_Target,
int offset_x,
int offset_y,
double arc_angle_value,
double arc_angle_error,
double arc_orientation,
double radius,
int line_thickness = 1, uchar value = 255,
int draw_arc_steps = 360);
403 static int Draw_VectorField (
Mat *pMA_Target, vector<vector<double>> vv_XY_length_value, vector<vector<double>> vv_XY_angle_value, vector<vector<double>> vv_XY_length_error, vector<vector<double>> vv_XY_angle_error, uchar value = 255,
int vector_thickness = 3,
int error_steps = 360,
int error_thickness = 1,
bool grid_add =
true,
int grid_thicknes = 2,
bool label_add =
false,
int label_thickness = 2,
double label_scale = 1.0);
404 static int Draw_ArcField (
Mat *pMA_Target, vector<vector<double>> vv_XY_arc_angle_value, vector<vector<double>> vv_XY_arc_angle_error, vector<vector<double>> vv_XY_arc_orientation_value, vector<vector<double>> vv_XY_arc_radius_value, vector<vector<size_t> > vv_XY_draw_if_non_zero, uchar value = 255,
int thickness = 3,
int arc_draw_steps = 360,
bool grid_add =
true,
int grid_thicknes = 2,
bool label_add =
false,
int label_thickness = 2,
double label_scale = 1.0);
405 static int Draw_CircleField (
Mat *pMA_Target, vector<vector<double>> vv_XY_radius_value, vector<vector<double>> vv_XY_radius_error, uchar value = 255,
int circle_thickness = 1,
bool circles_filled =
true,
bool grid_add =
false,
int grid_thicknes = 2,
bool label_add =
false,
int label_thickness = 2,
double label_scale = 1.0);
406 static int Draw_Rect (
Mat *pMA_Target,
unsigned int x1,
unsigned int y1,
unsigned int x2,
unsigned int y2,
unsigned int thickness = 1,
double val = 255);
407 static int Draw_Rect_Rotate (
Mat *pMA_Target,
RotatedRect rrect,
int thickness = 1,
double value = 255);
408 static int Draw_GridSimple (
Mat *pMA_Target,
int nx,
int ny,
Scalar value = 255,
int thickness = 1);
409 static int Draw_Grid (
Mat *pMA_Target,
int nx,
int ny,
bool lines_add,
int grid_thickness,
bool label_add,
int label_thickness,
double label_scale,
double value);
410 static int Draw_Grid (
Mat *pMA_Target,
int nx,
int ny,
bool lines_add,
int grid_thickness,
bool label_add,
int label_thickness,
double label_scale,
double value_r,
double value_g,
double value_b);
411 static int Draw_Grid (
Mat *pMA_Target, vector<vector<double>> vvNumbers_xy,
int nx,
int ny,
bool lines_add,
int grid_thickness,
bool label_add,
int label_thickness,
double label_scale,
double value_r,
double value_g,
double value_b);
412 static int Draw_Grid (
Mat *pMA_Target, vector<vector<vector<QString> > > vvvTexts_xyl,
int nx,
int ny,
bool lines_add,
int grid_thickness,
bool label_add,
int label_thickness,
double label_scale,
double value_r,
double value_g,
double value_b);
413 static int Draw_Boundaries (
Mat *pMA_Target,
int width = 1,
int val = 255);
414 static int Draw_Circle (
Mat *pMA_Out,
Mat *pMA_In,
int x,
int y,
int r,
int val = 255,
int thickness = 1,
bool filled =
false);
415 static int Draw_Circle (
Mat *pMA_Target,
int x,
int y,
int r,
int val,
int thickness = 1,
bool filled =
false);
416 static int Draw_Circle (
Mat *pMA_Target,
int x,
int y,
int r,
int val_r,
int val_g,
int val_b,
int thickness = 1,
bool filled =
false);
417 static int Draw_Ellipse (
Mat *pMA_Target,
RotatedRect ell,
double val_r,
double val_g,
double val_b,
int thickness = 1);
418 static int Draw_MarkerSymbol (
Mat *pMA_Target,
int x1,
int y1,
int x2,
int y2,
int symbol_id, uchar r, uchar g, uchar b,
double scale = 1);
419 static int Draw_Text (QImage *pQI_Target, QString text_tl, QString text_tr, QString text_bl, QString text_br,
unsigned int size, QColor color);
420 static int Draw_Text (
Mat *pMA_Target, QString text,
int x,
int y,
int thickness,
double scale,
double value);
421 static int Draw_Text (
Mat *pMA_Target, QString text,
int x,
int y,
int thickness,
double scale,
double value_r,
double value_g,
double value_b);
422 static int Draw_Text_ContrastColor (
Mat *pMA_Target, QString text,
int x = 0,
int y = 0,
int thickness = 1,
double scale = 1.0);
423 static int Draw_Label_Numbers_LUT (
Mat *pMA_Out,
Mat *pMA_In,
Mat *pMA_Label, vector<double> v_LUT,
bool border,
double scale,
double thickness,
bool center,
int precision, uchar r = 0, uchar g = 0, uchar b = 0);
424 static int Draw_Label_Text (
Mat *pMA_Out,
Mat *pMA_In,
Mat *pMA_Label, QStringList QSL_LabelTexts,
bool border,
double scale,
double thickness,
bool center, uchar r = 0, uchar g = 0, uchar b = 0,
int connectivity = 4);
425 static int Draw_Label_Numbers_LUT_Gray (
Mat *pMA_Out,
Mat *pMA_In,
Mat *pMA_Label, vector<double> v_LUT,
int geometric,
double scale,
int thickness,
bool center,
int precision);
426 static int Draw_Label_Numbers (
Mat *pMA_Out,
Mat *pMA_In,
Mat *pMA_Label,
double scale,
double thickness,
bool center);
427 static int Draw_Label_Numbers (
Mat *pMA_Out,
Mat *pMA_Label,
double scale,
double thickness,
bool center);
428 static int Draw_Label_Numbers_Corner (
Mat *pMA_Out,
Mat *pMA_Label,
double scale,
double thickness);
429 static int Draw_Label_Numbers_Center (
Mat *pMA_Out,
Mat *pMA_Label,
double scale,
double thickness);
430 static int Draw_Contours (
Mat *pMA_Target, vector<vector<Point>> vContours,
int line_thickness,
double value);
431 static int Draw_Contour (
Mat *pMA_Target, vector<Point> vContour,
int line_thickness,
double value);
432 static int Draw_Contour (
Mat *pMA_Target, vector<Point> vContour,
int line_thickness,
double R,
double G,
double B);
433 static int Draw_ContourCrop (
Mat *pMA_Out,
Mat *pMA_In_R,
Mat *pMA_In_G,
Mat *pMA_In_B, vector<Point> vContour,
int line_thickness,
double R,
double G,
double B,
bool draw_contour =
true);
434 static int Draw_ContourCrop (
Mat *pMA_Out,
Mat *pMA_In, vector<Point> vContour,
int line_thickness,
double value,
bool draw_contour =
true);
435 static int Draw_ContourText (
Mat *pMA_Target, vector<vector<Point>> vContours, QStringList QSL_Texts, vector<Point2f> vTextOrigins,
int line_thickness,
int text_thickness,
double text_scale,
double value);
436 static int Draw_ContourText (
Mat *pMA_Out,
Mat *pMA_In, vector<vector<Point>> vContours, QStringList QSL_Texts, vector<Point2f> vTextOrigins,
int line_thickness,
int text_thickness,
double text_scale,
double value);
438 static QColor Contrast_Color (QColor col_in,
bool force_black_and_white =
true,
bool mirror_hue =
true,
bool force_light2blue =
true);
439 static Scalar Contrast_Color (
Vec3d val_BGR,
bool force_black_and_white =
true,
bool mirror_hue =
true,
bool force_light2blue =
true);
440 static QString Color2Text4StyleSheet (QColor col_in);
441 static int Highlight_NumericalProblems (
Mat *pMA_Out,
Mat *pMA_In);
443 static int OverlayImage (
Mat *pMA_Out,
Mat *pMA_BaseR,
Mat *pMA_BaseG,
Mat *pMA_BaseB,
Mat *pMA_OverR,
Mat *pMA_OverG,
Mat *pMA_OverB, uchar thresh_overlay = 0);
444 static int OverlayOverwrite (
Mat *pMA_Out,
Mat *pMA_In,
Mat *pMA_Overlay,
double intensity_overlay = 1.0,
double intensity_backgr = 1.0);
445 static int OverlayOverwrite (
Mat *pMA_Out,
Mat *pMA_In,
Mat *pMA_Overlay, QColor color,
double intensity_overlay = 1.0,
double intensity_backgr = 1.0);
446 static int OverlayOverwrite (
Mat *pMA_Target,
Mat *pMA_Overlay, uchar r, uchar g, uchar b,
double intensity_overlay = 1.0);
447 static int OverlayOverwrite (
Mat *pMA_Out,
Mat *pMA_In,
Mat *pMA_Overlay, uchar r, uchar g, uchar b,
double intensity_overlay = 1.0,
double intensity_backgr = 1.0);
448 static int ExtremeValuesColor (
Mat *pMA_Out,
Mat *pMA_In,
double rel_low = 0.1,
double rel_high = 0.9,
double gamma = 1.0,
bool color_low =
false,
bool color_high =
true,
bool zero_as_lowest =
true);
449 static int Legend_HSV (
Mat *pMA_Out,
int width,
int height, QStringList QSL_H, QStringList QSL_S, QStringList QSL_V, QString QS_H, QString QS_S, QString QS_V,
double H_angle_min,
double H_angle_range,
double scale = 1,
double thickness = 1);
451 static int ClassBorder_kNN (
Mat *pMA_Out,
Mat *pMA_Class0,
Mat *pMA_Class1,
int n);
453 static int ObjectsMovement (vector<double> *pvShift_PxPerFrame, vector<double> *pvDirection_Rad, vector<Point2f> *pvPositions, vector<Mat> *pvMA_In, vector<vector<Point2f>> *pvvCentroids,
double max_Shift_PxPerFrame = INFINITY,
size_t index_NewImg = 0,
int connectivity = 8);
454 static int ObjectsMovement_Heatmap (
Mat *pMA_OutHeatmap,
Mat *pMA_OutLegend,
Mat *pMA_InValue, vector<vector<Point2f>> vv_FrmObjPositions, vector<vector<double>> vv_FrmObjShifts, vector<vector<double>> vv_FrmObjAngles,
Point2f P_VortexCenter,
double shift_scale,
double value_scale,
int blur_size_x,
int blur_size_y,
int mode,
int legend_width,
int legend_height,
double legend_scale,
double legend_thickness,
int legend_examples = 5,
double min_rel = 0.1,
double max_rel = 0.9,
double frame2time = 0.0417);
456 static int DistancesStat (
Mat *pMA_Out,
Mat *pMA_In,
function<
double (vector<double>)> F_Stat);
457 static int RadiometricStereo (
Mat *pMA_Out,
Mat *pMA_In1,
Mat *pMA_In2,
Mat *pMA_In3,
double S1X,
double S1Y,
double S1Z,
double S2X,
double S2Y,
double S2Z,
double S3X,
double S3Y,
double S3Z,
int out_mode);
458 static int RadiometricStereo (
Mat *pMA_Out,
Mat *pMA_In1,
Mat *pMA_In2,
Mat *pMA_In3,
Mat S,
int out_mode);
460 static int InterferometerMichelson (
Mat *pMA_Out,
int scene_size_x_px,
int scene_size_y_px,
int scale_px,
double scale_m,
double wavelength_m,
double dist_source_m,
double dist_detector_m,
double dist_mirror1_m,
double dist_mirror2_m,
double angle_mirror1_x,
double angle_mirror1_y,
double angle_mirror2_x,
double angle_mirror2_y);
464 #endif // D_IMG_PROC_H
@ c_COL2MONO_NUMBER_OF
Definition: d_enum.h:665
cv::Mat Mat
Definition: d_opencv_typedefs.h:28
const QStringList QSL_Errors
Definition: d_enum.h:183
vector< vector< Point > > get_PointCouples_Closest(int type1, int type2, double dist_min, double dist_max, int feat1, int feat2, function< bool(double, double)> comparison)
Definition: d_component_list_context.cpp:187
@ ER_okay
Definition: d_enum.h:133
static QString Type_of_Mat(Mat *pMA_In)
Definition: d_img_proc.cpp:363
@ c_MARKER_SYMBOL_DOT
Definition: d_enum.h:2036
@ c_FEAT_CIRC_ENCLOSE_CENTER_X
Definition: d_enum.h:1402
static int Fill_Holes(Mat *pMA_Out, Mat *pMA_In)
Definition: d_img_proc.cpp:12257
@ c_COMPLEX2REAL_REAL
Definition: d_enum.h:973
@ c_VIEWER_3D_ALPHA_CHANNEL_3
Definition: d_enum.h:486
static int Crop_Rect_Abs(Mat *pMA_Out, Mat *pMA_In, int x, int y, int width, int height)
Definition: d_img_proc.cpp:5514
static int Draw_Text_ContrastColor(Mat *pMA_Target, QString text, int x=0, int y=0, int thickness=1, double scale=1.0)
Definition: d_img_proc.cpp:18707
@ c_VIEWER_3D_ALPHA_CHANNEL_SQUARE_MEAN
Definition: d_enum.h:490
static function< uchar(double x, double y)> Function_2D_to_1D_8bit(int type, double a=1, double b=0, double c=1, double d=0, double e=0, double f=0, uchar nan_val=0, uchar inf_val=0)
Definition: d_math.cpp:527
const int BORDER_CONSTANT
Definition: d_opencv_typedefs.h:77
static int Draw_Line(Mat *pMA_Target, unsigned int x1, unsigned int y1, unsigned int x2, unsigned int y2, unsigned int thickness=1, double value=255)
Definition: d_img_proc.cpp:17134
static int Visualize_to8bit(Mat *pMA_Out, Mat *pMA_In, int mode_crop, int mode_trafo, int mode_anchor, int mode_range, double val_anchor, double val_range, double val_min, double val_max, double val_gamma, double val_center, double val_scale, bool keep_min_max=false, int mode_complex=c_COMPLEX2REAL_RE_IM)
Definition: d_img_proc.cpp:5082
@ c_COL2MONO_RED
Definition: d_enum.h:654
const int DFT_SCALE
Definition: d_opencv_typedefs.h:128
static double Optimize_Init(int opt_type)
Definition: d_stat.cpp:4185
static int Math_Or(Mat *pMA_Out, Mat *pMA_In1, Mat *pMA_In2)
Definition: d_img_proc.cpp:12702
static int Math_ScalImg_Sub(Mat *pMA_Out, Mat *pMA_In, double minuend)
Definition: d_img_proc.cpp:13028
@ c_FEAT_MASS_CENTER_X
Definition: d_enum.h:1398
@ c_VIEWER_3D_ALPHA_OPAC
Definition: d_enum.h:482
static int Split_img2components(D_Component_List *pCompList, Mat *pMA_In, int connectivity=8)
Definition: d_img_proc.cpp:15169
cv::Vec3i Vec3i
Definition: d_opencv_typedefs.h:54
static int Math_And(Mat *pMA_Out, Mat *pMA_In1, Mat *pMA_In2)
Definition: d_img_proc.cpp:12645
@ c_COMPLEX2REAL_IMAG
Definition: d_enum.h:974
static double Distance(Point pt1, Point pt2)
Definition: d_math.cpp:1511
@ c_VIS_TRAFO_NUMBER_OF
Definition: d_enum.h:700
static function< double(double x, double y)> Function_2D_to_1D(int type, double a=1, double b=0, double c=1, double d=0, double e=0, double f=0, double nan_val=0, double inf_val=0)
Definition: d_math.cpp:88
static double Difference_AngleRad(double a1, double a2)
Definition: d_math.cpp:1688
static int Draw_Grid(Mat *pMA_Target, vector< vector< vector< QString > > > vvvTexts_xyl, int nx, int ny, bool lines_add, int grid_thickness, bool label_add, int label_thickness, double label_scale, double value_r, double value_g, double value_b)
const int FONT_HERSHEY_COMPLEX_SMALL
Definition: d_opencv_typedefs.h:137
static int Math_ImgScal_Pow(Mat *pMA_Out, Mat *pMA_In, double power)
Definition: d_img_proc.cpp:13056
static int Filter_RankOrder(Mat *pMA_Out, Mat *pMA_In, Mat *pMA_Mask, double quantil_relPos)
D_Img_Proc::Filter_RankOrder performs Rank order filtering with huang algorithm for any quantile.
Definition: d_img_proc.cpp:9143
@ c_MATH_2D_TO_1D_ELLIPSE
Definition: d_enum.h:1065
@ c_VIEWER_3D_ALPHA_CHANNEL_0
Definition: d_enum.h:483
static int Math_ImgImg_Diff(Mat *pMA_Out, Mat *pMA_In1, Mat *pMA_In2)
Definition: d_img_proc.cpp:13125
static int Morphology_LocMax_Rect_1C(Mat *pMA_Out, Mat *pMA_In, int elem_size_X=3, int elem_size_Y=3)
static int Draw_Dot(Mat *pMA_Target, int x, int y, int d, uchar val)
Definition: d_img_proc.cpp:17060
static int GammaSpread(Mat *pMA_Out, Mat *pMA_In, double gamma, double in_min, double in_max, double out_min=0, double out_max=255, bool force_8bit=false)
Definition: d_img_proc.cpp:4903
static int Filter_Median(Mat *pMA_Out, Mat *pMA_In, int size)
Definition: d_img_proc.cpp:9097
@ c_COMPLEX2REAL_ABS
Definition: d_enum.h:976
Mat * get_pMatBinary()
Definition: d_component_list.h:65
static int Morphology_Skeleton(Mat *pMA_Out, Mat *pMA_In, int elem_type, unsigned int elem_size_X, unsigned int elem_size_Y, int border_type)
Definition: d_img_proc.cpp:7064
cv::Point2f Point2f
Definition: d_opencv_typedefs.h:37
cv::Vec2i Vec2i
Definition: d_opencv_typedefs.h:48
const int DIST_L2
Definition: d_opencv_typedefs.h:114
@ c_WATERSHED_FILL_SOURCE_INV
Definition: d_enum.h:605
@ c_VIEWER_3D_ALPHA_MAX_IS_TRANSPARENT
Definition: d_enum.h:491
static int Threshold_Adaptive(Mat *pMA_Out, Mat *pMA_In, int out_mode, double max_val, int adapt_mode, unsigned int mask_size, double offset)
Definition: d_img_proc.cpp:6669
@ c_FEAT_CIRC_INCLOSE_RADIUS
Definition: d_enum.h:1387
@ c_COL2MONO_GREEN
Definition: d_enum.h:653
@ c_COL2MONO_Z
Definition: d_enum.h:657
const int MORPH_GRADIENT
Definition: d_opencv_typedefs.h:90
@ c_GEO_NUMBER_OF
Definition: d_enum.h:2064
static int Math_ImgImg_Min(Mat *pMA_Out, Mat *pMA_In1, Mat *pMA_In2)
Definition: d_img_proc.cpp:13232
size_t size()
Definition: d_component_list.h:94
static int Floodfill_Delta(Mat *pMA_Out, Mat *pMA_In, int seed_x, int seed_y, uchar val_new, uchar val_delta)
Definition: d_img_proc.cpp:16775
static int Spread_16_bit_to_8bit(Mat *pMA_Out, Mat *pMA_In, double in_max, double out_max)
Definition: d_img_proc.cpp:3903
static int Histo_Equal(Mat *pMA_Out, Mat *pMA_In)
Definition: d_img_proc.cpp:14397
@ c_FEAT_MASS_CENTER_Y
Definition: d_enum.h:1407
static int Math_ImgImg_BitXor(Mat *pMA_Out, Mat *pMA_In1, Mat *pMA_In2)
Definition: d_img_proc.cpp:13217
@ c_STAT_MINIMUM
Definition: d_enum.h:754
static int Draw_Dots(Mat *pMA_Target, vector< Point2f > vCenters, vector< double > vDiameters, uchar val)
Definition: d_img_proc.cpp:17076
static int Draw_CircleField(Mat *pMA_Target, vector< vector< double >> vv_XY_radius_value, vector< vector< double >> vv_XY_radius_error, uchar value=255, int circle_thickness=1, bool circles_filled=true, bool grid_add=false, int grid_thicknes=2, bool label_add=false, int label_thickness=2, double label_scale=1.0)
Definition: d_img_proc.cpp:17593
@ c_GEO_CIRCLE_EQUIVAL
Definition: d_enum.h:2060
const double PI_2_0
Definition: d_enum.h:2537
static int Math_ImgImg_AddWeighted(Mat *pMA_Out, Mat *pMA_In1, Mat *pMA_In2, double weight_1, double weight_2, double weight_sum)
Definition: d_img_proc.cpp:13107
@ c_FEAT_CIRC_INCLOSE_CENTER_X
Definition: d_enum.h:1401
static int Feature_Select(Mat *pMA_Out, Mat *pMA_In, int feature, double f_min, double f_max, int connectivity=4)
Definition: d_img_proc.cpp:15710
static int InterferometerMichelson(Mat *pMA_Out, int scene_size_x_px, int scene_size_y_px, int scale_px, double scale_m, double wavelength_m, double dist_source_m, double dist_detector_m, double dist_mirror1_m, double dist_mirror2_m, double angle_mirror1_x, double angle_mirror1_y, double angle_mirror2_x, double angle_mirror2_y)
Definition: d_img_proc.cpp:20977
@ c_FEAT_CIRC_INCLOSE_CENTER_Y
Definition: d_enum.h:1410
static int Draw_Contours(Mat *pMA_Target, vector< vector< Point >> vContours, int line_thickness, double value)
D_Img_Proc::Draw_Contours draws a list of constours to an image.
Definition: d_img_proc.cpp:19134
static int Split_img2vv_value(vector< vector< double >> *vv_data_LabPix, Mat *pMA_Value, Mat *pMA_Label, bool ignore_0)
Definition: d_img_proc.cpp:14833
cv::Vec3d Vec3d
Definition: d_opencv_typedefs.h:52
@ ER_dim_2D_only
Definition: d_enum.h:164
cv::Vec4d Vec4d
Definition: d_opencv_typedefs.h:58
static int Math_ImgImg_Max(Mat *pMA_Out, Mat *pMA_In1, Mat *pMA_In2)
Definition: d_img_proc.cpp:13247
static int Convert_8UC1(Mat *pMA_Out, Mat *pMA_In)
Definition: d_img_proc.cpp:3406
static int Filter_Stat_Circular(Mat *pMA_Out, Mat *pMA_In, double radius, int stat, int border_type=BORDER_CONSTANT)
Definition: d_img_proc.cpp:12170
static int Load_From_Path(Mat *pMA_Out, QFileInfo FI_path)
Definition: d_img_proc.cpp:16
static int Math_ImgScal_Sub(Mat *pMA_Out, Mat *pMA_In, double subtrahend)
Definition: d_img_proc.cpp:13019
static int Math_MagnitudeSquared(Mat *pMA_Out, Mat *pMA_In1, Mat *pMA_In2)
Definition: d_img_proc.cpp:12776
static int Visualize_to8bit_1C(Mat *pMA_Out, Mat *pMA_In, int mode_trafo, int mode_anchor, int mode_range, double val_anchor, double val_range, double crop_min, double crop_max, double val_gamma, double val_center, double val_scale)
Definition: d_img_proc.cpp:5312
@ ER_channel_missmatch
Definition: d_enum.h:145
@ c_MATH_2D_TO_1D_X_times_Y
Definition: d_enum.h:1037
cv::Vec2w Vec2w
Definition: d_opencv_typedefs.h:50
@ ER_size_missmatch
Definition: d_enum.h:141
@ c_FEAT_RECT_AXEPAR_LEFT
Definition: d_enum.h:1404
cv::Vec4s Vec4s
Definition: d_opencv_typedefs.h:61
static int Math_ImgImg_Comp(Mat *pMA_Out, Mat *pMA_In1, Mat *pMA_In2, int comp)
Definition: d_img_proc.cpp:13262
const int LINE_8
Definition: d_opencv_typedefs.h:141
cv::Vec4f Vec4f
Definition: d_opencv_typedefs.h:59
@ c_VIEWER_3D_ALPHA_CHANNEL_MEAN
Definition: d_enum.h:489
static int Draw_Grid(Mat *pMA_Target, vector< vector< double >> vvNumbers_xy, int nx, int ny, bool lines_add, int grid_thickness, bool label_add, int label_thickness, double label_scale, double value_r, double value_g, double value_b)
static int Normalize(Mat *pMA_Out, Mat *pMA_In, unsigned int norm, unsigned int type, double min, double max)
Definition: d_img_proc.cpp:3814
static int Draw_ArcField(Mat *pMA_Target, vector< vector< double >> vv_XY_arc_angle_value, vector< vector< double >> vv_XY_arc_angle_error, vector< vector< double >> vv_XY_arc_orientation_value, vector< vector< double >> vv_XY_arc_radius_value, vector< vector< size_t > > vv_XY_draw_if_non_zero, uchar value=255, int thickness=3, int arc_draw_steps=360, bool grid_add=true, int grid_thicknes=2, bool label_add=false, int label_thickness=2, double label_scale=1.0)
Definition: d_img_proc.cpp:17517
cv::Rect Rect
Definition: d_opencv_typedefs.h:65
static int Math_Mult(Mat *pMA_Out, Mat *pMA_In1, double factor)
Definition: d_img_proc.cpp:12504
@ c_GEO_CIRCLE_INSCRIB
Definition: d_enum.h:2058
@ c_FEAT_CIRC_ENCLOSE_CENTER_Y
Definition: d_enum.h:1411
const int MORPH_CROSS
Definition: d_opencv_typedefs.h:85
static int Filter_Scharr(Mat *pMA_Out, Mat *pMA_In, int border, int out_depth, double scale, double delta, int d_x, int d_y)
Definition: d_img_proc.cpp:10761
static int Draw_MarkerSymbol(Mat *pMA_Target, int x1, int y1, int x2, int y2, int symbol_id, uchar r, uchar g, uchar b, double scale=1)
Definition: d_img_proc.cpp:18352
static int Filter_Eilenstein(Mat *pMA_Out, Mat *pMA_In, int comp, unsigned int size_x, unsigned int size_y, bool normalized, double constant)
Definition: d_img_proc.cpp:10982
@ c_VIS_TRAFO_RANGE_FIXED
Definition: d_enum.h:724
int t()
Definition: d_contour.cpp:115
static int Math_Special_NADPH(Mat *pMA_NADPH, Mat *pMA_I, Mat *pMA_A2, Mat *pMA_T1, Mat *pMA_T2, float k, bool ignore_0, float T2_Min_Thres, float T2_Min_Const)
Definition: d_img_proc.cpp:13924
static int Math_Special_NADPH_NADH(Mat *pMA_NADPH_NADH, Mat *pMA_T2, bool ignore_0, float T2_Min_Thres, float T2_Max_Thres, float T2_Min_Const, float T2_Max_Const)
Definition: d_img_proc.cpp:13962
static int Reduce_Centroid(Mat *pMA_Out, Mat *pMA_In, int thickness=1)
Definition: d_img_proc.cpp:16524
vector< Point2f > get_CentroidVector()
Definition: d_component_list.cpp:148
static int Stitch_Border_rel_custom(Mat *pMA_Out, Mat *pMA_In_Main, Mat *pMA_In_R, Mat *pMA_In_B, Mat *pMA_In_BR, double border_R, double border_B, double overlap_R, double overlap_B)
Definition: d_img_proc.cpp:6189
cv::Vec3b Vec3b
Definition: d_opencv_typedefs.h:51
static int Convert_toQImage4Ch_8bit(QImage *pQI_Out, Mat *pMA_In_Value, Mat *pMA_In_Alpha, bool heat_color=false)
Definition: d_img_proc.cpp:2029
const int BORDER_REFLECT
Definition: d_opencv_typedefs.h:79
static int GammaSpread_Quantiles(Mat *pMA_Out, Mat *pMA_In, double gamma, double quantile_low, double quantile_high, double out_min=0, double out_max=255, bool force_8bit=false, bool ignore_zeros=true)
Definition: d_img_proc.cpp:5057
@ c_MARKER_SYMBOL_3DOTS
Definition: d_enum.h:2042
static int Exclude_BorderConnected(Mat *pMA_Out, Mat *pMA_In)
Definition: d_img_proc.cpp:12318
@ c_VIEWER_3D_ALPHA_CHANNEL_2
Definition: d_enum.h:485
static int Morphology_Thinning(Mat *pMA_Out, Mat *pMA_In, int thinning_type)
Definition: d_img_proc.cpp:7198
@ c_WATERSHED_MARKER_NUMBER_OF
Definition: d_enum.h:625
@ c_VIS_TRAFO_ANCHOR_WHITE
Definition: d_enum.h:712
@ ER_file_not_exist
Definition: d_enum.h:161
@ c_MATH_2D_TO_1D_Y
Definition: d_enum.h:1033
static int Draw_Label_Numbers_Corner(Mat *pMA_Out, Mat *pMA_Label, double scale, double thickness)
Definition: d_img_proc.cpp:21018
const double Grad2Rad
Definition: d_enum.h:2542
const double PI
Definition: d_enum.h:2534
@ c_FEAT_CIRC_EQUIVAL_RADIUS
Definition: d_enum.h:1388
cv::Vec2b Vec2b
Definition: d_opencv_typedefs.h:45
static int Split_img2vv_coord(vector< vector< Point >> *vvp_data_LabCooPt, Mat *pMA_Label)
Definition: d_img_proc.cpp:15111
static int Draw_Text(QImage *pQI_Target, QString text_tl, QString text_tr, QString text_bl, QString text_br, unsigned int size, QColor color)
Definition: d_img_proc.cpp:18588
@ c_COL2MONO_VALUE
Definition: d_enum.h:663
static int Labeling(Mat *pMA_Out, Mat *pMA_In, int connectivity, int out_depth)
Definition: d_img_proc.cpp:12350
vector< Point > contour()
Definition: d_contour.h:49
static int Load_From_Path_Raw(Mat *pMA_Out, string path, int width, int height, int out_type)
Definition: d_img_proc.cpp:137
@ c_VIS_TRAFO_LINEAR
Definition: d_enum.h:697
static int Math_ImgScal_Mult(Mat *pMA_Out, Mat *pMA_In, double factor)
Definition: d_img_proc.cpp:13037
static int Draw_ContourCrop(Mat *pMA_Out, Mat *pMA_In_R, Mat *pMA_In_G, Mat *pMA_In_B, vector< Point > vContour, int line_thickness, double R, double G, double B, bool draw_contour=true)
Definition: d_img_proc.cpp:19214
static int Threshold_Adaptive_Gauss_1C(Mat *pMA_Out, Mat *pMA_In, int size, double sigma, double offset, double scale)
D_Img_Proc::Threshold_Adaptive_Gauss_1C lokall adaptive threshhold using comparison to gauss filtered...
Definition: d_img_proc.cpp:6711
static int Transformation_Distance(Mat *pMA_Out, Mat *pMA_In, int metric, int precision)
Definition: d_img_proc.cpp:7486
static int Filter_Gabor(Mat *pMA_Out, Mat *pMA_In, int size_x, int size_y, int border, int out_depth, double sigma, double theta, double lambda, double gamma, double psi, double delta)
Definition: d_img_proc.cpp:10811
@ c_VIS_TRAFO_RANGE_DYNAMIC
Definition: d_enum.h:723
static int Matrix_Product(Mat *pMA_Out, Mat *pMA_In1, Mat *pMA_In2)
Definition: d_img_proc.cpp:14057
@ c_DIR2D_R
Definition: d_enum.h:2112
static int Draw_Line_Angle(Mat *pMA_Target, double length, double center_x, double center_y, double angle, unsigned int thickness=1, double value=255)
Definition: d_img_proc.cpp:17244
@ c_OPT_1D_MINIMUM
Definition: d_enum.h:957
const int NORM_MINMAX
Definition: d_opencv_typedefs.h:149
static int Calc_LUT(vector< int > *vLUT, Mat *pMA_Label)
Definition: d_img_proc.cpp:14806
cv::Vec3w Vec3w
Definition: d_opencv_typedefs.h:56
RotatedRect get_BndBox_Rotate(int comp)
Definition: d_component_list.h:85
@ c_VIEWER_3D_ALPHA_CHANNEL_MAX
Definition: d_enum.h:488
@ c_GEO_OUTLINE
Definition: d_enum.h:2053
static int LUT_Apply_to_Label_Int(Mat *pMA_Out, Mat *pMA_Label, vector< int > vLUT)
Definition: d_img_proc.cpp:15282
static int Math_Special_Add_Color(Mat *pMA_Out, Mat *pMA_In_Color, Mat *pMA_In0, Mat *pMA_In1, Mat *pMA_In2)
Definition: d_img_proc.cpp:13804
static int Split_ObjectAreas(vector< double > *v_objects, vector< double > *v_areas, Mat *pMA_Label, Mat *pMA_Objects, int connectivity)
Definition: d_img_proc.cpp:15179
static int Legend_HSV(Mat *pMA_Out, int width, int height, QStringList QSL_H, QStringList QSL_S, QStringList QSL_V, QString QS_H, QString QS_S, QString QS_V, double H_angle_min, double H_angle_range, double scale=1, double thickness=1)
Definition: d_img_proc.cpp:19906
cv::Vec4w Vec4w
Definition: d_opencv_typedefs.h:62
@ c_GEO_CONVEX_DEFICIT
Definition: d_enum.h:2055
Mat * get_pMatLabels()
Definition: d_component_list.h:67
@ c_COL2MONO_SATURATION
Definition: d_enum.h:662
static int Convert_toMat4Ch(Mat *pMA_Out, Mat *pMA_In_Value, Mat *pMA_In_Alpha, bool heat_color)
Definition: d_img_proc.cpp:1323
static int Scale_Factor(Mat *pMA_Out, Mat *pMA_In, double scale_x, double scale_y)
Definition: d_img_proc.cpp:6208
@ c_VIEWER_3D_ALPHA_CHANNEL_1
Definition: d_enum.h:484
@ c_COL2MONO_BRIGHTNESS
Definition: d_enum.h:658
@ c_STAT_MAXIMUM
Definition: d_enum.h:774
@ c_COMPLEX2REAL_PHASE
Definition: d_enum.h:975
static int Draw_Contour(Mat *pMA_Target, vector< Point > vContour, int line_thickness, double value)
Definition: d_img_proc.cpp:19175
const QStringList QSL_FeatureList
Definition: d_enum.h:1457
static Point2f Center(Point2f pt1, Point2f pt2)
Definition: d_math.cpp:1606
static int Filter_Stat(Mat *pMA_Out, Mat *pMA_In, Mat *pMA_Mask, int stat, int border_type=BORDER_CONSTANT)
Definition: d_img_proc.cpp:12156
static function< double(vector< double >)> Function_SingleStat(int stat)
Definition: d_stat.cpp:683
static int Math_ImgImg_Div(Mat *pMA_Out, Mat *pMA_In1, Mat *pMA_In2, double scale)
Definition: d_img_proc.cpp:13171
static int Reduce_Contours(Mat *pMA_Out, Mat *pMA_In, int thickness=1)
Definition: d_img_proc.cpp:16575
static int Filter_Function_8bit_1C(Mat *pMA_Out, Mat *pMA_In, Mat *pMA_Mask, function< uchar(double cur, double nei)> F1_CenterImage, function< uchar(double f1r, double msk)> F2_f1mask, function< uchar(vector< double > vf2r)> F3_Combine, function< uchar(double f3r, double cen)> F4_f3center, int border_type=BORDER_CONSTANT, int thread_number=8, bool DoNonZeroMaskOnly=false)
Definition: d_img_proc.cpp:11968
@ ER_NumericProblem
Definition: d_enum.h:175
@ c_COMPLEX2REAL_HUE_VAL
Definition: d_enum.h:979
static int Filter_Maximum_1C(Mat *pMA_Out, Mat *pMA_In, size_t mask_size_x, size_t mask_size_y)
Definition: d_img_proc.cpp:9999
int l()
Definition: d_contour.cpp:82
static int Math_Magnitude(Mat *pMA_Out, Mat *pMA_In1, Mat *pMA_In2)
Definition: d_img_proc.cpp:12759
static int Filter_Function(Mat *pMA_Out, Mat *pMA_In, Mat *pMA_Mask, function< double(double cur, double nei)> F1_CenterImage, function< double(double f1r, double msk)> F2_f1mask, function< double(vector< double > vf2r)> F3_Combine, function< double(double f3r, double cen)> F4_f3center, int border_type=BORDER_CONSTANT, bool DoNonZeroMaskOnly=false)
Definition: d_img_proc.cpp:11397
static int Filter_Function_8bit_1C_Thread(Mat *pMA_Out, Mat *pMA_In, Mat *pMA_Mask, function< uchar(double cur, double nei)> F1_CenterImage, function< uchar(double f1r, double msk)> F2_f1mask, function< uchar(vector< double > vf2r)> F3_Combine, function< uchar(double f3r, double cen)> F4_f3center, int row_start, int row_end, int col_start, int col_end, bool DoNonZeroMaskOnly=false)
Definition: d_img_proc.cpp:12059
static function< uchar(double val_in)> Spread_2_8bit(double min, double max, function< double(double val_in)> F)
Definition: d_math.cpp:1745
static int Combi_8UC1_binary(Mat *pMA_Out, Mat *pMA_In)
Definition: d_img_proc.cpp:4592
const int DFT_INVERSE
Definition: d_opencv_typedefs.h:127
static int Convert_toQImage4Ch(QImage *pQI_Out, Mat *pMA_In_Value, Mat *pMA_In_Alpha, bool heat_color)
Definition: d_img_proc.cpp:2006
Definition: d_featureset.h:37
static int Duplicate(Mat *pMA_Out, Mat *pMA_In)
Definition: d_img_proc.cpp:2397
static int Calc_Centroids(vector< Point2f > *pvCentroids, Mat *pMA_In, int connectivity=8)
Definition: d_img_proc.cpp:16613
static int LUT_Apply_to_Label_Double(Mat *pMA_Out, Mat *pMA_Label, vector< double > vLUT, bool LUT_has_BG_label=true)
Definition: d_img_proc.cpp:15308
static int Mask(Mat *pMA_Out, Mat *pMA_In, Mat *pMA_Mask)
Definition: d_img_proc.cpp:14098
const int IMREAD_ANYCOLOR
Definition: d_opencv_typedefs.h:108
static int ExtremeValuesColor(Mat *pMA_Out, Mat *pMA_In, double rel_low=0.1, double rel_high=0.9, double gamma=1.0, bool color_low=false, bool color_high=true, bool zero_as_lowest=true)
Definition: d_img_proc.cpp:19664
static int LUT_Apply_to_Label_Binary(Mat *pMA_Out, Mat *pMA_Label, vector< int > vLUT, bool ignore_BG=true)
Definition: d_img_proc.cpp:15448
static int LUT_Apply_to_Label_Uchar(Mat *pMA_Out, Mat *pMA_Label, vector< uchar > vLUT, bool LUT_has_BG_label=true)
Definition: d_img_proc.cpp:15378
@ c_WATERSHED_FILL_MASK_DIST
Definition: d_enum.h:602
static int Threshold_Auto(Mat *pMA_Out, Mat *pMA_In, int out_mode, double max_val, int auto_mode)
Definition: d_img_proc.cpp:6653
static int Draw_Label_Numbers(Mat *pMA_Out, Mat *pMA_In, Mat *pMA_Label, double scale, double thickness, bool center)
Definition: d_img_proc.cpp:19012
static int Convert_Complex2Real_1C(Mat *pMA_Out, Mat *pMA_InRe, Mat *pMA_InIm, int mode)
Definition: d_img_proc.cpp:3477
static int Math_ImgScal_Add(Mat *pMA_Out, Mat *pMA_In, double summmand)
Definition: d_img_proc.cpp:13010
@ c_CONNECT_NUMBER_OF
Definition: d_enum.h:1268
static bool Check_GreaterValue(Mat *pMA_InSmaller, Mat *pMA_InGreater)
Definition: d_img_proc.cpp:12963
@ c_GEO_CIRCLE_ENCLOSE
Definition: d_enum.h:2061
static int Matrix_Inversion(Mat *pMA_Out, Mat *pMA_In)
Definition: d_img_proc.cpp:14069
cv::Point Point
Definition: d_opencv_typedefs.h:35
cv::Vec2s Vec2s
Definition: d_opencv_typedefs.h:49
@ c_WATERSHED_FILL_MASK_COPY
Definition: d_enum.h:603
@ ER_bitdepth_bad
Definition: d_enum.h:138
@ c_MATH_2D_TO_1D_X
Definition: d_enum.h:1032
static int Draw_Rect(Mat *pMA_Target, unsigned int x1, unsigned int y1, unsigned int x2, unsigned int y2, unsigned int thickness=1, double val=255)
Definition: d_img_proc.cpp:17687
static int Filter_LaplaceOfGaussian(Mat *pMA_Out, Mat *pMA_In, int size_g, double sigma_g, int size_l, int border, int out_depth, double scale, double delta)
Definition: d_img_proc.cpp:10712
@ c_COL2MONO_Y
Definition: d_enum.h:656
static int OverlayOverwrite(Mat *pMA_Out, Mat *pMA_In, Mat *pMA_Overlay, double intensity_overlay=1.0, double intensity_backgr=1.0)
Definition: d_img_proc.cpp:19556
@ ER_parameter_missmatch
Definition: d_enum.h:143
@ c_COL2MONO_HUE
Definition: d_enum.h:661
static double Sum_AngleRad(double a1, double a2)
Definition: d_math.cpp:1716
@ c_GEO_ELLIPSE_FIT
Definition: d_enum.h:2063
static int Morphology_Thinning_Iteration(Mat img, int iter, int thinning_type)
Definition: d_img_proc.cpp:7228
The D_Contour class represents a contour of a 2D object and offers several methods for gaining inform...
Definition: d_contour.h:39
static int Convert_QImage_to_Mat(Mat *pMA_Out, QImage *pQI_In)
Definition: d_img_proc.cpp:1308
static int Transformation_Watershed_Custom(Mat *pMA_Out, Mat *pMA_In2Fill, Mat *pMA_InMarker, Mat *pMA_FG_Mask, int mode_flood, int mode_marker, int mode_mask, int connectivity=8, int gauss_size=5, double gauss_sigma=2, int morphgrad_elem=MORPH_ELLIPSE, int morphgrad_size=3, double thresh=127, bool exclude_border=true, bool include_non_seeded=true, bool draw_watersheds=true)
D_Img_Proc::Transformation_Watershed_Custom WIP, don't use!
Definition: d_img_proc.cpp:7909
@ c_GEO_CENTROID
Definition: d_enum.h:2049
@ c_FEAT_CIRC_CIRCUMS_RADIUS
Definition: d_enum.h:1390
static int ObjectsMovement(vector< double > *pvShift_PxPerFrame, vector< double > *pvDirection_Rad, vector< Point2f > *pvPositions, vector< Mat > *pvMA_In, vector< vector< Point2f >> *pvvCentroids, double max_Shift_PxPerFrame=INFINITY, size_t index_NewImg=0, int connectivity=8)
Definition: d_img_proc.cpp:20212
static int Threshold_Relative_1C(Mat *pMA_Out, Mat *pMA_In, double max_val, double thres_rel)
Definition: d_img_proc.cpp:6352
@ c_COMPLEX2REAL_HUE_SAT
Definition: d_enum.h:980
static int Draw_ContourText(Mat *pMA_Target, vector< vector< Point >> vContours, QStringList QSL_Texts, vector< Point2f > vTextOrigins, int line_thickness, int text_thickness, double text_scale, double value)
D_Img_Proc::Draw_ContourText draw contours in an image with added text at contours centers.
Definition: d_img_proc.cpp:19332
static int Draw_Circle(Mat *pMA_Out, Mat *pMA_In, int x, int y, int r, int val=255, int thickness=1, bool filled=false)
Definition: d_img_proc.cpp:18255
static int Padding(Mat *pMA_Out, Mat *pMA_In, int size_x, int size_y, int type=BORDER_CONSTANT)
Definition: d_img_proc.cpp:5708
@ ER_type_bad
Definition: d_enum.h:136
static int Filter_Stat_Rect(Mat *pMA_Out, Mat *pMA_In, int size_x, int size_y, int stat, int border_type=BORDER_CONSTANT)
Definition: d_img_proc.cpp:12221
static int Transformation_Fourier(Mat *pMA_Out, Mat *pMA_In, bool invers)
Definition: d_img_proc.cpp:8532
static int ObjectsMovement_Heatmap(Mat *pMA_OutHeatmap, Mat *pMA_OutLegend, Mat *pMA_InValue, vector< vector< Point2f >> vv_FrmObjPositions, vector< vector< double >> vv_FrmObjShifts, vector< vector< double >> vv_FrmObjAngles, Point2f P_VortexCenter, double shift_scale, double value_scale, int blur_size_x, int blur_size_y, int mode, int legend_width, int legend_height, double legend_scale, double legend_thickness, int legend_examples=5, double min_rel=0.1, double max_rel=0.9, double frame2time=0.0417)
Definition: d_img_proc.cpp:20374
const int MORPH_RECT
Definition: d_opencv_typedefs.h:86
static int Load_From_Path_Gray(Mat *pMA_Out, QFileInfo FI_path)
Definition: d_img_proc.cpp:51
const int IMREAD_ANYDEPTH
Definition: d_opencv_typedefs.h:109
static int Math_Special_Trans2Count(Mat *pMA_Count, Mat *pMA_Trans, float base, float scale)
Definition: d_img_proc.cpp:13995
static int Threshold_BlurThres(Mat *pMA_Out, Mat *pMA_In, int size, double sigma, double thres)
Definition: d_img_proc.cpp:6915
int detect_Harris(Mat *pMA_In, int blockSize, int sobelAperture, double harrisParam, double thres)
D_FeatureSet::detect_Harris Uses cornerHarris to detect keypoints.
Definition: d_featureset.cpp:25
static int Draw_Label_Numbers_LUT(Mat *pMA_Out, Mat *pMA_In, Mat *pMA_Label, vector< double > v_LUT, bool border, double scale, double thickness, bool center, int precision, uchar r=0, uchar g=0, uchar b=0)
Definition: d_img_proc.cpp:18727
@ c_GEO_CIRCLE_CIRCUMS
Definition: d_enum.h:2062
static int ValAtPix(vector< double > *v_value, Mat *pMA_In, size_t x_pos, size_t y_pos)
Definition: d_img_proc.cpp:2192
const int DFT_REAL_OUTPUT
Definition: d_opencv_typedefs.h:124
static int Split(Mat *pMA_Out, Mat *pMA_In, unsigned int channel)
Definition: d_img_proc.cpp:4007
static int Draw_Label_Text(Mat *pMA_Out, Mat *pMA_In, Mat *pMA_Label, QStringList QSL_LabelTexts, bool border, double scale, double thickness, bool center, uchar r=0, uchar g=0, uchar b=0, int connectivity=4)
Definition: d_img_proc.cpp:18825
vector< vector< Point > > get_ContourVector_ConvexHull()
Definition: d_component_list.cpp:252
const int DFT_COMPLEX_INPUT
Definition: d_opencv_typedefs.h:125
static int Filter_Eilenstein_1C(Mat *pMA_Out, Mat *pMA_In, int comp, unsigned int size_x, unsigned int size_y, bool normalized, double constant)
Definition: d_img_proc.cpp:10931
static int Filter_Maximum_1C_Thread_Y(Mat *pMA_Out, Mat *pMA_In, size_t mask_size_x, size_t mask_size_y, size_t n_in_y, size_t x_start, size_t x_end)
Definition: d_img_proc.cpp:10412
cv::Vec4b Vec4b
Definition: d_opencv_typedefs.h:57
const int MORPH_ERODE
Definition: d_opencv_typedefs.h:89
vector< double > get_FeatureVector(int feature)
Definition: d_component_list.cpp:119
@ c_WATERSHED_MARKER_FILL_LOC_MIN
Definition: d_enum.h:621
const int IMREAD_GRAYSCALE
Definition: d_opencv_typedefs.h:111
const int BORDER_REPLICATE
Definition: d_opencv_typedefs.h:82
@ ER_channel_bad
Definition: d_enum.h:144
static int Load_From_Path_Text(Mat *pMA_Out, string path)
Definition: d_img_proc.cpp:86
@ c_WATERSHED_FILL_SOURCE_COPY
Definition: d_enum.h:604
static int Feature_Visualize(Mat *pMA_Out, Mat *pMA_In, int feature, int connectivity=4, int thickness=1, double scale=1)
Definition: d_img_proc.cpp:15810
cv::Vec3f Vec3f
Definition: d_opencv_typedefs.h:53
static int MinMax_of_Mat_1C(Mat *pMA_In, double *min_ext, double *max_ext)
Definition: d_img_proc.cpp:2180
static int Shading_Correct(Mat *pMA_Out, Mat *pMA_In, Mat *pMA_Reference)
Definition: d_img_proc.cpp:14089
static int Filter_Box(Mat *pMA_Out, Mat *pMA_In, int size_x, int size_y, int border, int out_depth, bool norm)
Definition: d_img_proc.cpp:9052
static int Padding_1C(Mat *pMA_Out, Mat *pMA_In, int right, int left, int top, int bottom, int type=BORDER_CONSTANT)
Definition: d_img_proc.cpp:5849
static int MinMax_of_Mat(Mat *pMA_In, double *min_ext, double *max_ext)
Definition: d_img_proc.cpp:2052
const int CHAIN_APPROX_SIMPLE
Definition: d_opencv_typedefs.h:100
static int ValueStat(Mat *pMA_Out, Mat *pMA_InLabel, Mat *pMA_InValue, int stat, int connectivity=8)
D_Img_Proc::ValueStat assigns a statistic value of all pixel values in a label to the label as gray v...
Definition: d_img_proc.cpp:15977
static int Math_ImgScal_Root(Mat *pMA_Out, Mat *pMA_In)
Definition: d_img_proc.cpp:13068
static int TypeIndex_of_Mat(int channels, int depth)
Definition: d_img_proc.cpp:496
cv::Vec2f Vec2f
Definition: d_opencv_typedefs.h:47
static int Mask_1C(Mat *pMA_Out, Mat *pMA_In, Mat *pMA_Mask)
Definition: d_img_proc.cpp:14214
@ c_MARKER_SYMBOL_3CIRCLES
Definition: d_enum.h:2041
static int Hysteresis(Mat *pMA_Out, Mat *pMA_In_Indicator, Mat *pMA_In_Hysteresis, bool labeling=false)
Definition: d_img_proc.cpp:16857
static int LUT_Apply_to_Label_TrueFalse(Mat *pMA_Out_true, Mat *pMA_Out_false, Mat *pMA_Label, vector< int > vLUT, bool edges=true, bool ignore_BG=true)
Definition: d_img_proc.cpp:15514
@ c_STEREO_NORMAL
Definition: d_enum.h:1255
@ c_WATERSHED_MASK_NUMBER_OF
Definition: d_enum.h:640
const int RETR_TREE
Definition: d_opencv_typedefs.h:97
const int DIST_MASK_PRECISE
Definition: d_opencv_typedefs.h:122
static int Zoom(Mat *pMA_Out, Mat *pMA_In, double x_rel, double y_rel, double factor)
Definition: d_img_proc.cpp:5649
@ c_CONNECT_IN_RANGE
Definition: d_enum.h:1267
const int MORPH_DILATE
Definition: d_opencv_typedefs.h:88
static int Highlight_NumericalProblems(Mat *pMA_Out, Mat *pMA_In)
Definition: d_img_proc.cpp:19450
static int Crop_Rect_Rel(Mat *pMA_Out, Mat *pMA_In, double x1_rel, double y1_rel, double x2_rel, double y2_rel)
Definition: d_img_proc.cpp:5467
cv::Scalar Scalar
Definition: d_opencv_typedefs.h:30
static function< uchar(vector< double >)> Function_SingleStat_8bit(int stat)
Definition: d_stat.cpp:1779
RotatedRect get_Ellipse_Fitted(int comp)
Definition: d_component_list.h:87
@ c_STAT_SUM
Definition: d_enum.h:737
vector< double > get_FeatureVector_BG(int feature)
Definition: d_component_list.cpp:132
static int Transformation_Watershed(Mat *pMA_Out, Mat *pMA_In, Mat *pMA_Marker)
Definition: d_img_proc.cpp:7557
static int Stitch_Border_rel(Mat *pMA_Out, Mat *pMA_In_Main, Mat *pMA_In_R, Mat *pMA_In_B, Mat *pMA_In_BR, double border_R, double border_B, double overlap_R, double overlap_B, Stitcher::Mode mode=Stitcher::SCANS)
Definition: d_img_proc.cpp:6011
static int ValueStat_Select(Mat *pMA_Out, Mat *pMA_InLabel, Mat *pMA_InValue, int stat, double thresh_min, double thresh_max, int connectivity=8)
Definition: d_img_proc.cpp:16060
static int Transformation_Watershed_Auto(Mat *pMA_Out, Mat *pMA_In, Mat *pMA_Marker, bool include_not_seeded, bool conv_8bit, bool exclude_border)
Definition: d_img_proc.cpp:7573
static int Math_Special_IncreaseIfSet(Mat *pMA_Count, Mat *pMA_Check)
Definition: d_img_proc.cpp:14027
static int Draw_Ellipse(Mat *pMA_Target, RotatedRect ell, double val_r, double val_g, double val_b, int thickness=1)
Definition: d_img_proc.cpp:18337
D_Component_List * get_pCompList()
Definition: d_component_list_context.h:72
static int Calc_Hist_1C(vector< double > *v_hist, Mat *pMA_In, bool uniform, bool accum, unsigned int class_count, double *min_ext, double *max_ext, double *step_ext)
Definition: d_img_proc.cpp:14665
@ c_COL2MONO_BLUE_YELLOW
Definition: d_enum.h:659
static int Convert_toMat4Ch_8bit(Mat *pMA_Out, Mat *pMA_In, int alpha_mode, bool heat_color=false, bool norm_alpha=true)
Definition: d_img_proc.cpp:1363
@ c_FEAT_CIRC_ENCLOSE_RADIUS
Definition: d_enum.h:1389
@ ER_size_bad
Definition: d_enum.h:140
@ c_GEO_RECT_AXEPAR
Definition: d_enum.h:2056
static bool Floodfill_Delta_Step(Mat *pMA_Target, Mat *pMA_Check, int x, int y, int dx, int dy, int val_new, int val_delta, int val_origin)
Definition: d_img_proc.cpp:16809
static int GammaSpread_1C(Mat *pMA_Out, Mat *pMA_In, double gamma, double in_min, double in_max, double out_min=0, double out_max=255, bool force_8bit=false)
Definition: d_img_proc.cpp:4649
@ c_WATERSHED_FILL_NUMBER_OF
Definition: d_enum.h:608
static int Color_Grab(Mat *pMA_Out, Mat *pMA_In, int color_space, int out_mode, vector< uchar > min, vector< uchar > max)
Definition: d_img_proc.cpp:6950
@ c_COL2MONO_X
Definition: d_enum.h:655
int set_Mat(Mat *pMA_BinaryOrLabel, int connectivity=8)
Definition: d_component_list_context.cpp:21
@ c_STEREO_ALBEDO
Definition: d_enum.h:1254
static int Filter_Box_RMS(Mat *pMA_Out, Mat *pMA_In, int size_x, int size_y, int border, int out_depth, bool norm)
Definition: d_img_proc.cpp:9067
Rect get_BndBox_Rect(int comp)
Definition: d_component_list.h:83
static int RadiometricStereo(Mat *pMA_Out, Mat *pMA_In1, Mat *pMA_In2, Mat *pMA_In3, double S1X, double S1Y, double S1Z, double S2X, double S2Y, double S2Z, double S3X, double S3Y, double S3Z, int out_mode)
Definition: d_img_proc.cpp:20887
int w()
Definition: d_contour.h:60
cv::Vec2d Vec2d
Definition: d_opencv_typedefs.h:46
static int Math_ImgStack_Project(Mat *pMA_Out, vector< Mat > *pvMA_In, int stat=c_STAT_MEAN_ARITMETIC)
Definition: d_img_proc.cpp:13436
int h()
Definition: d_contour.h:61
static int Stat_ofPixelvalues(double *value, Mat *pMA_In, int stat, bool ignore_zeros)
Definition: d_img_proc.cpp:662
static function< double(double val_in)> Log_Centered(double center, double divisor)
Definition: d_math.cpp:1780
static int Stitch_Border_abs(Mat *pMA_Out, Mat *pMA_In_Main, Mat *pMA_In_R, Mat *pMA_In_B, Mat *pMA_In_BR, int border_R, int border_B, int overlap_R, int overlap_B, Stitcher::Mode mode=Stitcher::SCANS)
Definition: d_img_proc.cpp:5927
static int Draw_Rect_Rotate(Mat *pMA_Target, RotatedRect rrect, int thickness=1, double value=255)
Definition: d_img_proc.cpp:17713
static int BitsPerPixel_of_MatType(int type)
Definition: d_img_proc.cpp:647
static int Insert(Mat *pMA_Target, Mat *pMA_Insert, int offset_x, int offset_y)
Definition: d_img_proc.cpp:2405
cv::Vec4i Vec4i
Definition: d_opencv_typedefs.h:60
@ c_MARKER_SYMBOL_MINUS
Definition: d_enum.h:2039
@ c_COMPLEX2REAL_RE_IM
Definition: d_enum.h:978
Point2f get_Centroid(int comp)
Definition: d_component_list.h:69
static int Calc_Hist_Multi(vector< vector< double >> *vv_hist, Mat *pMA_In, bool uniform, bool accum, unsigned int class_count, vector< double > *v_min_ext, vector< double > *v_max_ext, vector< double > *v_step_ext)
Definition: d_img_proc.cpp:14543
static int Filter_Function_1C_Thread(Mat *pMA_Out, Mat *pMA_In, Mat *pMA_Mask, function< double(double cur, double nei)> F1_CenterImage, function< double(double f1r, double msk)> F2_f1mask, function< double(vector< double > vf2r)> F3_Combine, function< double(double f3r, double cen)> F4_f3center, int row_start, int row_end, int col_start, int col_end, bool DoNonZeroMaskOnly=false)
Definition: d_img_proc.cpp:11685
@ c_MATH_2D_TO_1D_X_greater_Y
Definition: d_enum.h:1041
static int Convert_Depth_NoScaling_1C(Mat *pMA_Out, Mat *pMA_In, int depth)
Definition: d_img_proc.cpp:2890
int set_Mat(Mat *pMA_BinaryOrLabel, int connectivity=8)
Definition: d_component_list.cpp:22
static int Morphology_Erode_Rect(Mat *pMA_Out, Mat *pMA_In, int elem_size_X, int elem_size_Y)
Definition: d_img_proc.cpp:7297
static int Value_to_MinOrMax(Mat *pMA_Out, Mat *pMA_In, double val_src, bool to_min)
Definition: d_img_proc.cpp:14313
static int Convert_Angle2Color_Rad(Mat *pMA_Out, Mat *pMA_InAngleRad, uchar Saturation=255, uchar Value=255)
Definition: d_img_proc.cpp:3774
static int Feature_Value(Mat *pMA_Out, Mat *pMA_In, int feature, int connectivity=4)
Definition: d_img_proc.cpp:15646
static int Segmentation_GaussDistWater(Mat *pMA_Out, Mat *pMA_In, int size, double sigma, double thres, double distance, bool include_not_seeded, bool conv_8bit, bool exclude_border)
Definition: d_img_proc.cpp:9016
static int Filter_Sobel(Mat *pMA_Out, Mat *pMA_In, int size, int border, int out_depth, double scale, double delta, int d_x, int d_y)
Definition: d_img_proc.cpp:10742
static int Floodfill(Mat *pMA_Out, Mat *pMA_In, unsigned int seed_x, unsigned int seed_y, double new_val)
Definition: d_img_proc.cpp:16690
@ c_STAT_MEAN_ARITMETIC_OF_NON_ZERO
Definition: d_enum.h:742
vector< vector< Point > > get_PointCouples_AllInRange(int type1, int type2, double dist_min, double dist_max, int feat1, int feat2, function< bool(double, double)> comparison)
Definition: d_component_list_context.cpp:397
static int Filter_Canny(Mat *pMA_Out, Mat *pMA_In, int size, double thres_low, double thres_high, bool L2_gradient)
Definition: d_img_proc.cpp:10778
static int Scale_ToSize(Mat *pMA_Out, Mat *pMA_In, int size_x, int size_y)
Definition: d_img_proc.cpp:6219
static int Math_LimitTop(Mat *pMA_Out, Mat *pMA_InThresh, Mat *pMA_InToLimit)
Definition: d_img_proc.cpp:12834
@ c_GEO_CIRCLE_INCLOSE
Definition: d_enum.h:2059
static int Math_ImgImg_Function(Mat *pMA_Out, Mat *pMA_In1, Mat *pMA_In2, function< double(double x, double y)> function_img1_img2)
Definition: d_img_proc.cpp:13278
@ ER_other
Definition: d_enum.h:134
static int Filter_Bilateral(Mat *pMA_Out, Mat *pMA_In, int diameter, int border, double sigma_color, double sigma_space)
Definition: d_img_proc.cpp:10796
static int Threshold_Adaptive_Gauss(Mat *pMA_Out, Mat *pMA_In, int size, double sigma, double offset, double scale)
Definition: d_img_proc.cpp:6689
static int Morphology_Elemental(Mat *pMA_Out, Mat *pMA_In, int morph_type, int elem_type, unsigned int elem_size_X, unsigned int elem_size_Y, int border_type, unsigned int iterations)
Definition: d_img_proc.cpp:7041
@ ER_bitdepth_missmatch
Definition: d_enum.h:139
static int Math_ImgSelf_Not(Mat *pMA_Out, Mat *pMA_In)
Definition: d_img_proc.cpp:12999
The D_Component_List class is a list of D_Component representing the blobs in a binary image.
Definition: d_component_list.h:46
Point tl()
Definition: d_contour.h:62
@ c_VIS_TRAFO_ANCHOR_DYNAMIC
Definition: d_enum.h:709
@ c_COMPLEX2REAL_ABS_SQUARE
Definition: d_enum.h:977
@ c_MARKER_SYMBOL_CROSS
Definition: d_enum.h:2040
static int Reduce_Outlines(Mat *pMA_Out, Mat *pMA_In, int neighborhood=8, int thickness=1)
Definition: d_img_proc.cpp:16469
const int FONT_HERSHEY_TRIPLEX
Definition: d_opencv_typedefs.h:138
@ c_COL2MONO_GRAY
Definition: d_enum.h:651
The D_Component_List_Context class inherits D_Component_List and calculates features of the blobs dep...
Definition: d_component_list_context.h:53
@ c_DIR2D_D
Definition: d_enum.h:2114
vector< Point2f > get_OffsetVector_2f()
Definition: d_component_list.cpp:190
static int Draw_Grid(Mat *pMA_Target, int nx, int ny, bool lines_add, int grid_thickness, bool label_add, int label_thickness, double label_scale, double value)
Definition: d_img_proc.cpp:17899
Mat get_MatBinary()
Definition: d_component_list.h:64
static function< double(double val_in)> CopyValue()
Definition: d_math.cpp:1724
@ c_COL2MONO_RED_GREEN
Definition: d_enum.h:660
@ ER_type_missmatch
Definition: d_enum.h:137
static Scalar Scalar_EqualInAllChannels(int channels=1, double value=0)
Definition: d_img_proc.cpp:652
const int MORPH_ELLIPSE
Definition: d_opencv_typedefs.h:87
static int Math_ImgImg_Function_8bit(Mat *pMA_Out, Mat *pMA_In1, Mat *pMA_In2, function< uchar(double x, double y)> function_img1_img2)
Definition: d_img_proc.cpp:13329
static int DistancesStat(Mat *pMA_Out, Mat *pMA_In, function< double(vector< double >)> F_Stat)
Definition: d_img_proc.cpp:20854
static int Filter_RankOrder_1C_Thread(Mat *pMA_Out, Mat *pMA_InPadded, Mat *pMA_Mask, double quantil_relPos, size_t img_in_sx, size_t y_start, size_t y_end, double val_max, size_t mask_relevant_px_count, vector< Point > *vBorderL, vector< Point > *vBorderR, vector< Point > *vBorderT, vector< Point > *vBorderB)
D_Img_Proc::Filter_RankOrder_1C_Thread performs Rank order filtering with huang algorithm for any qua...
Definition: d_img_proc.cpp:9583
cv::Point2d Point2d
Definition: d_opencv_typedefs.h:38
@ c_GEO_CONVEX_HULL
Definition: d_enum.h:2054
static int Math_Phase(Mat *pMA_Out, Mat *pMA_In1, Mat *pMA_In2)
Definition: d_img_proc.cpp:12817
static int Draw_Vector(Mat *pMA_Target, int offset_x, int offset_y, double length_value, double angle_value, double length_error=0, double angle_error=0, int vector_thickness=1, uchar value=255, int error_steps=360, int error_thickness=1)
Definition: d_img_proc.cpp:17273
static int Threshold_Absolute_1C(Mat *pMA_Out, Mat *pMA_In, double thres_abs)
Definition: d_img_proc.cpp:6553
static int Crop_Rect_Rot(Mat *pMA_Out, Mat *pMA_In, int x, int y, int width, int height, double angle)
Definition: d_img_proc.cpp:5530
static int Math_ImgImg_BitOr(Mat *pMA_Out, Mat *pMA_In1, Mat *pMA_In2)
Definition: d_img_proc.cpp:13202
static int Load_From_Path_Multi(Mat *pMA_Out, QString path, unsigned int page)
Definition: d_img_proc.cpp:315
static int Draw_ContourText(Mat *pMA_Out, Mat *pMA_In, vector< vector< Point >> vContours, QStringList QSL_Texts, vector< Point2f > vTextOrigins, int line_thickness, int text_thickness, double text_scale, double value)
@ c_GEO_CONTOUR
Definition: d_enum.h:2052
@ c_COMPDIST_NUMBER_OF
Definition: d_enum.h:2096
static int Crop_Circle(Mat *pMA_Out, Mat *pMA_In, int x, int y, int r)
Definition: d_img_proc.cpp:5586
static int ForceSize(Mat *pMA_Out, Mat *pMA_In, int width, int heigth, int border_type=BORDER_CONSTANT)
Definition: d_img_proc.cpp:5870
static int Draw_Arc(Mat *pMA_Target, int offset_x, int offset_y, double arc_angle, double arc_orientation, double radius, int line_thickness=1, uchar value=255, int draw_arc_steps=360)
Definition: d_img_proc.cpp:17351
@ c_GEO_OFFSET
Definition: d_enum.h:2048
@ c_MARKER_SYMBOL_CIRCLE
Definition: d_enum.h:2035
vector< vector< Point > > get_ContourVector()
Definition: d_component_list.cpp:221
static int Filter_RankOrder_Rect(Mat *pMA_Out, Mat *pMA_In, double quantil_relPos, int size_x, int size_y)
D_Img_Proc::Filter_RankOrder_Rect special case of Filter_RankOrder for rect masks.
Definition: d_img_proc.cpp:9317
@ c_CONNECT_CLOSEST
Definition: d_enum.h:1266
@ c_VIS_TRAFO_CROP_FIXED
Definition: d_enum.h:688
static int Morphology_Dilate_Rect(Mat *pMA_Out, Mat *pMA_In, int elem_size_X, int elem_size_Y)
Definition: d_img_proc.cpp:7347
@ c_STEREO_NUMBER_OF
Definition: d_enum.h:1256
static int Convert_Color(Mat *pMA_Out, Mat *pMA_In, int cvt_mode)
Definition: d_img_proc.cpp:2524
static QString Type_of_QImage(QImage *pQI_In)
Definition: d_img_proc.cpp:461
static int Value_to_Value(Mat *pMA_Out, Mat *pMA_In, double val_src, double val_dst)
Definition: d_img_proc.cpp:14336
static QColor Contrast_Color(QColor col_in, bool force_black_and_white=true, bool mirror_hue=true, bool force_light2blue=true)
Definition: d_img_proc.cpp:19388
static int OverlayImage(Mat *pMA_Out, Mat *pMA_BaseR, Mat *pMA_BaseG, Mat *pMA_BaseB, Mat *pMA_OverR, Mat *pMA_OverG, Mat *pMA_OverB, uchar thresh_overlay=0)
Definition: d_img_proc.cpp:19509
static int Invert(Mat *pMA_Out, Mat *pMA_In)
Definition: d_img_proc.cpp:2496
The D_Img_Proc class static 2D image processing functions.
Definition: d_img_proc.h:63
static int Filter_Function_1C(Mat *pMA_Out, Mat *pMA_In, Mat *pMA_Mask, function< double(double cur, double nei)> F1_CenterImage, function< double(double f1r, double msk)> F2_f1mask, function< double(vector< double > vf2r)> F3_Combine, function< double(double f3r, double cen)> F4_f3center, int border_type=BORDER_CONSTANT, int thread_number=8, bool DoNonZeroMaskOnly=false)
Definition: d_img_proc.cpp:11596
static int Sign2Color(Mat *pMA_Out, Mat *pMA_In, bool norm=false)
Definition: d_img_proc.cpp:4191
static int Convert_Mat_to_QImage(QImage *pQI_Out, Mat *pMA_In, bool use_custom_range_for_spread_non_8bit=false, double in_min=0, double in_max=1)
Definition: d_img_proc.cpp:973
@ c_MATH_2D_TO_1D_X_equals_Y
Definition: d_enum.h:1040
@ c_MARKER_SYMBOL_TICK
Definition: d_enum.h:2043
static int Morphology_Reconstruction(Mat *pMA_Out, Mat *pMA_InSeed, Mat *pMA_InLimit, Mat *pMA_Mask, double quantil=1)
Definition: d_img_proc.cpp:7437
D_Img_Proc()
Definition: d_img_proc.cpp:11
@ c_COMPLEX2REAL_NUMBER_OF
Definition: d_enum.h:981
static int Math_Special_NADH(Mat *pMA_NADH, Mat *pMA_I, Mat *pMA_A2, Mat *pMA_T1, Mat *pMA_T2, float k, bool ignore_0, float T2_Max_Thres, float T2_Max_Const)
Definition: d_img_proc.cpp:13886
static int Math_ImgImg_DiffAbs(Mat *pMA_Out, Mat *pMA_In1, Mat *pMA_In2)
Definition: d_img_proc.cpp:13140
@ c_FEAT_CIRC_INSCRIB_RADIUS
Definition: d_enum.h:1386
@ c_STAT_NUMBER_OF_STATS
Definition: d_enum.h:795
@ c_FEAT_RECT_AXEPAR_TOP
Definition: d_enum.h:1413
static int Detect_CornerHarris(Mat *pMA_Out, Mat *pMA_In, int blockSize, int sobelAperture, double harrisParam, double thres)
Definition: d_img_proc.cpp:16151
static int Filter_Maximum_1C_Thread_X(Mat *pMA_Out, Mat *pMA_In, size_t mask_size_x, size_t n_in_x, size_t y_start, size_t y_end)
Definition: d_img_proc.cpp:10134
static int Stitch_Border_abs_custom(Mat *pMA_Out, Mat *pMA_In_Main, Mat *pMA_In_R, Mat *pMA_In_B, Mat *pMA_In_BR, int border_R, int border_B, int overlap_R, int overlap_B)
Definition: d_img_proc.cpp:6032
@ c_VIS_TRAFO_GAMMA
Definition: d_enum.h:698
cv::RotatedRect RotatedRect
Definition: d_opencv_typedefs.h:66
static int Select_Area(Mat *pMA_Out, Mat *pMA_In, unsigned int area_min, unsigned int area_max, int connectivity)
Definition: d_img_proc.cpp:16167
@ ER_MatrixNotInvertable
Definition: d_enum.h:169
static int Reduce_Geometric(Mat *pMA_Out, Mat *pMA_In, int geometric, int connectivity=8, int thickness=1, uchar value=255)
Definition: d_img_proc.cpp:16215
static int Math_ImgImg_BitAnd(Mat *pMA_Out, Mat *pMA_In1, Mat *pMA_In2)
Definition: d_img_proc.cpp:13187
static int ImgStackToRow(Mat *pMA_Out, vector< Mat > *pvMA_In, vector< vector< QString >> vvQS_LabelText_Img_Line, int text_thickness=1, double text_scale=1.0, int line_height=10, int frame_thickness=2)
Definition: d_img_proc.cpp:16903
@ ER_parameter_bad
Definition: d_enum.h:142
@ c_VIS_TRAFO_RANGE_NUMBER_OF
Definition: d_enum.h:725
static int ClassBorder_kNN(Mat *pMA_Out, Mat *pMA_Class0, Mat *pMA_Class1, int n)
Definition: d_img_proc.cpp:20100
static int FeatureContext_Select(Mat *pMA_Out, Mat *pMA_In, int pt_type1, int pt_type2, double dist_min, double dist_max, int feat, int stat, double t_min, double t_max, int connectivity=4)
Definition: d_img_proc.cpp:15758
static int Math_Add(Mat *pMA_Out, Mat *pMA_In1, double summand)
Definition: d_img_proc.cpp:12364
static int Math_ImgStack_StatCombine(Mat *pMA_Out, vector< Mat > *pvMA_In0, vector< Mat > *pvMA_In1, function< double(vector< double >)> f_stat_0, function< double(vector< double >)> f_stat_1, function< double(double, double)> f_combi, bool force8bit)
Definition: d_img_proc.cpp:13646
static int Quantiles_ofPixelvalues(double *q_low, double *q_high, Mat *pMA_In, double low_rel, double high_rel, bool ignore_zeros)
Definition: d_img_proc.cpp:751
@ c_WATERSHED_FILL_SOURCE_LOG
Definition: d_enum.h:606
static int Math_ImgImg_Add(Mat *pMA_Out, Mat *pMA_In1, Mat *pMA_In2)
Definition: d_img_proc.cpp:13092
static int Calc_Hist(Mat *pMA_Hist, Mat *pMA_In, bool uniform, bool accum)
Definition: d_img_proc.cpp:14410
static int Math_ImgScal_Div(Mat *pMA_Out, Mat *pMA_In, double divisor)
Definition: d_img_proc.cpp:13046
static int Merge(Mat *pMA_Out, Mat *pMA_In0, Mat *pMA_In1, Mat *pMA_In2, Mat *pMA_In3, unsigned int channels, bool channel_use[4])
Definition: d_img_proc.cpp:4060
@ c_COL2MONO_BLUE
Definition: d_enum.h:652
const int BORDER_DEFAULT
Definition: d_opencv_typedefs.h:78
static int Floodfill_Boundary(Mat *pMA_Out, Mat *pMA_In, double new_val)
Definition: d_img_proc.cpp:16722
static int Draw_Line_Bresenham(Mat *pMA_Target, Point P1, Point P2, double val)
D_Img_Proc::Draw_Line_Bresenham custum function to draw a line between 0° and 45°
Definition: d_img_proc.cpp:17225
static int BitDepth_of_MatType(int type)
Definition: d_img_proc.cpp:602
static int Convert_Depth_NoScaling(Mat *pMA_Out, Mat *pMA_In, int depth)
Definition: d_img_proc.cpp:2777
vector< double > get_AllComps_StatFeatInDist_BG(int type1, int type2, double dist_min, double dist_max, int feat, int stat)
Definition: d_component_list_context.cpp:150
static int Duplicate2Channels(Mat *pMA_Out, Mat *pMA_In, int channels)
Definition: d_img_proc.cpp:4394
static int Filter_Gauss(Mat *pMA_Out, Mat *pMA_In, int size_x, int size_y, int border, double sigma_x, double sigma_y)
Definition: d_img_proc.cpp:9083
static int Math_ImgImg_Mult(Mat *pMA_Out, Mat *pMA_In1, Mat *pMA_In2, double scale)
Definition: d_img_proc.cpp:13155
static int ImgStackToGrid(Mat *pMA_Out, vector< Mat > *pvMA_In, vector< vector< QString >> vvQS_LabelText_Img_Line, size_t maxPerRow, int text_thickness=1, double text_scale=1.0, int line_height=10, int frame_thickness=2)
Definition: d_img_proc.cpp:16917
static int Filter_RankOrder_Circular(Mat *pMA_Out, Mat *pMA_In, double quantil_relPos, double radius)
D_Img_Proc::Filter_RankOrder_Circular special case of Filter_RankOrder.
Definition: d_img_proc.cpp:9271
static int Morphology_LocMax_Rect(Mat *pMA_Out, Mat *pMA_In, int elem_size_X=3, int elem_size_Y=3)
Definition: d_img_proc.cpp:7397
@ c_MARKER_SYMBOL_RECT
Definition: d_enum.h:2037
static int FeatureContext_Value(Mat *pMA_Out, Mat *pMA_In, int pt_type1, int pt_type2, double dist_min, double dist_max, int feat, int stat, int connectivity=4)
Definition: d_img_proc.cpp:15679
@ c_VIS_TRAFO_ANCHOR_CENTER
Definition: d_enum.h:710
@ c_VIS_TRAFO_ANCHOR_NUMBER_OF
Definition: d_enum.h:713
@ c_MARKER_SYMBOL_PLUS
Definition: d_enum.h:2038
static QString Color2Text4StyleSheet(QColor col_in)
Definition: d_img_proc.cpp:19445
static int Convert_Color_RGBA(Mat *pMA_Out, Mat *pMA_In, double r, double g, double b, double a, double range_rgba=255.0)
Definition: d_img_proc.cpp:2552
static int Filter_Eilenstein_Prototype(Mat *pMA_Out, Mat *pMA_In, bool cmp_fkt(double, double, double), unsigned int size_x, unsigned int size_y, bool normalized, double constant)
Definition: d_img_proc.cpp:10838
static bool Check_IsSimilar(Mat *pMA_In1, Mat *pMA_In2)
Definition: d_img_proc.cpp:12936
@ c_WATERSHED_FILL_SOURCE_MORPH_GRAD
Definition: d_enum.h:607
static int Convert_Color2Mono(Mat *pMA_Out, Mat *pMA_In, int col2mono_code)
Definition: d_img_proc.cpp:2662
static int Generate_byValueFunction_Complex(Mat *pMA_Out, int width, int height, function< complex< double >(complex< double > x, complex< double > y)> value_function)
Definition: d_img_proc.cpp:346
@ c_VIS_TRAFO_CROP_DYNAMIC
Definition: d_enum.h:687
static int Threshold_Value(Mat *pMA_Out, Mat *pMA_In, int out_mode, double max_val, double thres)
Definition: d_img_proc.cpp:6638
static int Threshold_Relative(Mat *pMA_Out, Mat *pMA_In, double max_val, double thres_rel)
Definition: d_img_proc.cpp:6235
static int Draw_GridSimple(Mat *pMA_Target, int nx, int ny, Scalar value=255, int thickness=1)
Definition: d_img_proc.cpp:17746
@ c_GEO_RECT_ROTATE
Definition: d_enum.h:2057
static int Filter_Function_8bit(Mat *pMA_Out, Mat *pMA_In, Mat *pMA_Mask, function< uchar(double cur, double nei)> F1_CenterImage, function< uchar(double f1r, double msk)> F2_f1mask, function< uchar(vector< double > vf2r)> F3_Combine, function< uchar(double f3r, double cen)> F4_f3center, int border_type=BORDER_CONSTANT, bool DoNonZeroMaskOnly=false)
Definition: d_img_proc.cpp:11786
cv::Point3f Point3f
Definition: d_opencv_typedefs.h:40
static int Calc_Hist(vector< vector< double >> *vv_hist, Mat *pMA_In, bool uniform, bool accum)
@ c_VIS_TRAFO_ANCHOR_BLACK
Definition: d_enum.h:711
static double AngleRad(Point2f pt1, Point2f pt2)
Definition: d_math.cpp:1594
static int Draw_Label_Numbers_Center(Mat *pMA_Out, Mat *pMA_Label, double scale, double thickness)
Definition: d_img_proc.cpp:19096
@ c_FEAT_NUMBER_OF_FEATS
Definition: d_enum.h:1455
static int Threshold_Absolute(Mat *pMA_Out, Mat *pMA_In, double thres_abs)
Definition: d_img_proc.cpp:6440
cv::Size Size
Definition: d_opencv_typedefs.h:31
static int Feature_Connect(Mat *pMA_Out, Mat *pMA_In, int pt_type1, int pt_type2, double dist_min, double dist_max, int feat1, int feat2, function< bool(double, double)> comp, int connect_mode=c_CONNECT_CLOSEST, int connectivity=4, int thickness=2)
Definition: d_img_proc.cpp:15901
static int Math_ImgImg_Function_Complex(Mat *pMA_Out, Mat *pMA_In1, Mat *pMA_In2, function< complex< double >(complex< double > x, complex< double > y)> function_img1_img2)
Definition: d_img_proc.cpp:13380
@ c_VIS_TRAFO_LOG
Definition: d_enum.h:699
cv::Size2f Size2f
Definition: d_opencv_typedefs.h:32
static int Channel_Supression(Mat *pMA_Out, Mat *pMA_In, bool use_r=true, bool use_g=true, bool use_b=true, bool force_3ch=false)
Definition: d_img_proc.cpp:3953
static int Spread_8bit_to_float01(Mat *pMA_Out, Mat *pMA_In)
Definition: d_img_proc.cpp:3934
@ c_STAT_MEAN_ARITMETIC
Definition: d_enum.h:740
@ c_VIEWER_3D_ALPHA_CHANNEL_MIN
Definition: d_enum.h:487
@ ER_index_out_of_range
Definition: d_enum.h:146
static int Draw_Label_Numbers_LUT_Gray(Mat *pMA_Out, Mat *pMA_In, Mat *pMA_Label, vector< double > v_LUT, int geometric, double scale, int thickness, bool center, int precision)
Definition: d_img_proc.cpp:18927
static int Matrix_Transpose(Mat *pMA_Out, Mat *pMA_In)
Definition: d_img_proc.cpp:14080
static int Filter_RankOrder_1C(Mat *pMA_Out, Mat *pMA_In, Mat *pMA_Mask, double quantil_relPos)
D_Img_Proc::Filter_RankOrder_1C performs Rank order filtering with huang algorithm for any quantile.
Definition: d_img_proc.cpp:9350
static int LUT_Apply_to_Label_Color(Mat *pMA_Out, Mat *pMA_In, Mat *pMA_Label, vector< int > vLUT, int channel_true, int channel_false, bool edges=true, bool ignore_BG=true)
Definition: d_img_proc.cpp:15567
static int Draw_VectorField(Mat *pMA_Target, vector< vector< double >> vv_XY_length_value, vector< vector< double >> vv_XY_angle_value, vector< vector< double >> vv_XY_length_error, vector< vector< double >> vv_XY_angle_error, uchar value=255, int vector_thickness=3, int error_steps=360, int error_thickness=1, bool grid_add=true, int grid_thicknes=2, bool label_add=false, int label_thickness=2, double label_scale=1.0)
Definition: d_img_proc.cpp:17443
static int Transformation_Fourier_1C(Mat *pMA_Out, Mat *pMA_In_Re, Mat *pMA_In_Im, bool invers=false, bool force_fft=true, bool out_real=false, int out_complex_mode=c_COMPLEX2REAL_ABS, bool out_scale=false, bool out_center=true, bool out_nof0=true)
Definition: d_img_proc.cpp:8850
static vector< Point > Line_Bresenham_8(Point P0, Point P1)
Definition: d_math.cpp:1815
static int Math_ImgScal_Log(Mat *pMA_Out, Mat *pMA_In)
Definition: d_img_proc.cpp:13080
static int Generate_byValueFunction(Mat *pMA_Out, int width, int height, function< double(double x, double y)> value_function)
Definition: d_img_proc.cpp:332
static int Filter_Laplace(Mat *pMA_Out, Mat *pMA_In, int size, int border, int out_depth, double scale, double delta)
Definition: d_img_proc.cpp:10694
static int Draw_Boundaries(Mat *pMA_Target, int width=1, int val=255)
Definition: d_img_proc.cpp:18238
@ c_COL2MONO_LUMINANZ
Definition: d_enum.h:664
static int Channels_of_MatType(int type)
Definition: d_img_proc.cpp:557
cv::Vec3s Vec3s
Definition: d_opencv_typedefs.h:55
static int Threshold_RankOrderOffsetHysteresis(Mat *pMA_Out, Mat *pMA_In, double radius, double quantile, double thresh_offset_indicator, double thresh_offset_hysteresis, bool labeling=false)
Definition: d_img_proc.cpp:6830
@ ER_empty
Definition: d_enum.h:135
@ c_WATERSHED_FILL_MASK_DIST_INV
Definition: d_enum.h:601
static function< double(double val_in)> GammaCorrect_to01(double min, double max, double gamma)
Definition: d_math.cpp:1764
static int Math_ImgStack_StatCombine_Thread(Mat *pMA_Out, vector< Mat > *pvMA_In0, vector< Mat > *pvMA_In1, function< double(vector< double >)> f_stat_0, function< double(vector< double >)> f_stat_1, function< double(double, double)> f_combi, bool force8bit, int row_start, int row_end)
Definition: d_img_proc.cpp:13718