/** * @brief Analyse an image with low concentration. * * @param [in] input Input image as 8bit (unsigned char) array. * @param [in] inputWidth Width of the input image. * @param [in] inputHeight Height of the input image. * @param [out] histogram Histogram of circle radii found in the image as int array. * @param [out] histogramWidth Width of the histogram. * @param [out] histogramHeight Height of the histogram. * @param [out] circleList List of the detected circles as int array. * Each row of this image corresponds to one circle: * The first column is the x-coordinate of the center, * the second column is the y-coordinate of the center, * the third column is the radius, and the fourth column * is 255. * @param [out] circleListWidth The width of the circleList, this is always 4. * @param [out] circleListHeight The height of the circleList, corresponding to the * number of detected circles. * @param [out] display Displays the input image overlaid with the detected circles, * as 8bit (unsigned char) array. * Width and height of this array are equal to the width and * height of the input image. * * NOTE: histogram, circleList and display are allocated inside the function, so make sure to * free the corresponding memory to avoid memory leaks! */ PLUGIN_API void LowConcentrationAnalysis(unsigned char *input, int inputWidth, int inputHeight, int **histogram, int *histogramWidth, int *histogramHeight, int **circleList, int *circleListWidth, int *circleListHeight, unsigned char **display); /** * @brief Analyse an image with high concentration * * For a description of the parameters, see LowConcentrationAnalysis. */ PLUGIN_API void HighConcentrationAnalysis(unsigned char *input, int inputWidth, int inputHeight, int **histogram, int *histogramWidth, int *histogramHeight, int **circleList, int *circleListWidth, int *circleListHeight, unsigned char **display);