OpenCV  5.0.0alpha
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.

◆ 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.

◆ 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.

◆ 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.

◆ 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.

◆ 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.