OpenCV 4.14.0
Open Source Computer Vision
Loading...
Searching...
No Matches
Math with F0-transform support

Detailed Description

Fuzzy transform ( \(F^0\)-transform) of the 0th degree transforms whole image to a matrix of its components. These components are used in latter computation where each of them represents average color of certain subarea.

Functions

void cv::ft::FT02D_components (InputArray matrix, InputArray kernel, OutputArray components, InputArray mask=noArray())
 Computes components of the array using direct \(F^0\)-transform.
void cv::ft::FT02D_FL_process (InputArray matrix, const int radius, OutputArray output)
 Sligtly less accurate version of \(F^0\)-transfrom computation optimized for higher speed. The methods counts with linear basic function.
void cv::ft::FT02D_FL_process_float (InputArray matrix, const int radius, OutputArray output)
 Sligtly less accurate version of \(F^0\)-transfrom computation optimized for higher speed. The methods counts with linear basic function.
void cv::ft::FT02D_inverseFT (InputArray components, InputArray kernel, OutputArray output, int width, int height)
 Computes inverse \(F^0\)-transfrom.
int cv::ft::FT02D_iteration (InputArray matrix, InputArray kernel, OutputArray output, InputArray mask, OutputArray maskOutput, bool firstStop)
 Computes \(F^0\)-transfrom and inverse \(F^0\)-transfrom at once and return state.
void cv::ft::FT02D_process (InputArray matrix, InputArray kernel, OutputArray output, InputArray mask=noArray())
 Computes \(F^0\)-transfrom and inverse \(F^0\)-transfrom at once.

Function Documentation

◆ FT02D_components()

void cv::ft::FT02D_components ( InputArray matrix,
InputArray kernel,
OutputArray components,
InputArray mask = noArray() )
Python:
cv.ft.FT02D_components(matrix, kernel[, components[, mask]]) -> components

#include <opencv2/fuzzy/fuzzy_F0_math.hpp>

Computes components of the array using direct \(F^0\)-transform.

Parameters
matrixInput array.
kernelKernel used for processing. Function ft::createKernel can be used.
componentsOutput 32-bit float array for the components.
maskMask can be used for unwanted area marking.

The function computes components using predefined kernel and mask.

Here is the call graph for this function:

◆ FT02D_FL_process()

void cv::ft::FT02D_FL_process ( InputArray matrix,
const int radius,
OutputArray output )
Python:
cv.ft.FT02D_FL_process(matrix, radius[, output]) -> output

#include <opencv2/fuzzy/fuzzy_F0_math.hpp>

Sligtly less accurate version of \(F^0\)-transfrom computation optimized for higher speed. The methods counts with linear basic function.

Parameters
matrixInput 3 channels matrix.
radiusRadius of the ft::LINEAR basic function.
outputOutput array.

This function computes F-transfrom and inverse F-transfotm using linear basic function in one step. It is ~10 times faster than ft::FT02D_process method.

Here is the call graph for this function:

◆ FT02D_FL_process_float()

void cv::ft::FT02D_FL_process_float ( InputArray matrix,
const int radius,
OutputArray output )
Python:
cv.ft.FT02D_FL_process_float(matrix, radius[, output]) -> output

#include <opencv2/fuzzy/fuzzy_F0_math.hpp>

Sligtly less accurate version of \(F^0\)-transfrom computation optimized for higher speed. The methods counts with linear basic function.

Parameters
matrixInput 3 channels matrix.
radiusRadius of the ft::LINEAR basic function.
outputOutput array.

This function computes F-transfrom and inverse F-transfotm using linear basic function in one step. It is ~9 times faster then ft::FT02D_process method and more accurate than ft::FT02D_FL_process method.

Here is the call graph for this function:

◆ FT02D_inverseFT()

void cv::ft::FT02D_inverseFT ( InputArray components,
InputArray kernel,
OutputArray output,
int width,
int height )
Python:
cv.ft.FT02D_inverseFT(components, kernel, width, height[, output]) -> output

#include <opencv2/fuzzy/fuzzy_F0_math.hpp>

Computes inverse \(F^0\)-transfrom.

Parameters
componentsInput 32-bit float single channel array for the components.
kernelKernel used for processing. Function ft::createKernel can be used.
outputOutput 32-bit float array.
widthWidth of the output array.
heightHeight of the output array.

Computation of inverse F-transform.

Here is the call graph for this function:

◆ FT02D_iteration()

int cv::ft::FT02D_iteration ( InputArray matrix,
InputArray kernel,
OutputArray output,
InputArray mask,
OutputArray maskOutput,
bool firstStop )
Python:
cv.ft.FT02D_iteration(matrix, kernel, mask, firstStop[, output[, maskOutput]]) -> retval, output, maskOutput

#include <opencv2/fuzzy/fuzzy_F0_math.hpp>

Computes \(F^0\)-transfrom and inverse \(F^0\)-transfrom at once and return state.

Parameters
matrixInput matrix.
kernelKernel used for processing. Function ft::createKernel can be used.
outputOutput 32-bit float array.
maskMask used for unwanted area marking.
maskOutputMask after one iteration.
firstStopIf true function returns -1 when first problem appears. In case of false the process is completed and summation of all problems returned.

This function computes iteration of F-transfrom and inverse F-transfotm and handle image and mask change. The function is used in ft::inpaint function.

Here is the call graph for this function:

◆ FT02D_process()

void cv::ft::FT02D_process ( InputArray matrix,
InputArray kernel,
OutputArray output,
InputArray mask = noArray() )
Python:
cv.ft.FT02D_process(matrix, kernel[, output[, mask]]) -> output

#include <opencv2/fuzzy/fuzzy_F0_math.hpp>

Computes \(F^0\)-transfrom and inverse \(F^0\)-transfrom at once.

Parameters
matrixInput matrix.
kernelKernel used for processing. Function ft::createKernel can be used.
outputOutput 32-bit float array.
maskMask used for unwanted area marking.

This function computes F-transfrom and inverse F-transfotm in one step. It is fully sufficient and optimized for cv::Mat.

Here is the call graph for this function: