OpenCV 5.0.0
Open Source Computer Vision
読み込み中...
検索中...
見つかりません
🤖 AIによる機械翻訳(非公式) — これは OpenCV 5.0.0 公式リファレンス(英語)を AI (Claude) で自動翻訳したものです。訳に誤りを含む場合があります。正確な情報は 公式英語版(原文) を参照してください。
F1変換をサポートする数学演算

詳細説明

1次のファジー変換 ( \(F^1\)-変換) は画像全体をその成分の行列に変換する。各成分は、特定の小領域の平均色と平均勾配の情報を保持する1次の多項式である。

関数

void cv::ft::FT12D_components (InputArray matrix, InputArray kernel, OutputArray components)
 配列の成分を直接的な \(F^1\)-変換を用いて計算する。
 
void cv::ft::FT12D_createPolynomMatrixHorizontal (int radius, OutputArray matrix, const int chn)
 \(F^1\)-変換の計算のための水平行列を作成する。
 
void cv::ft::FT12D_createPolynomMatrixVertical (int radius, OutputArray matrix, const int chn)
 \(F^1\)-変換の計算のための垂直行列を作成する。
 
void cv::ft::FT12D_inverseFT (InputArray components, InputArray kernel, OutputArray output, int width, int height)
 逆 \(F^1\)-変換を計算する。
 
void cv::ft::FT12D_polynomial (InputArray matrix, InputArray kernel, OutputArray c00, OutputArray c10, OutputArray c01, OutputArray components, InputArray mask=noArray())
 \(F^1\)-変換成分の要素を計算する。
 
void cv::ft::FT12D_process (InputArray matrix, InputArray kernel, OutputArray output, InputArray mask=noArray())
 \(F^1\)-変換と逆 \(F^1\)-変換を一度に計算する。
 

関数詳解

◆ FT12D_components()

void cv::ft::FT12D_components ( InputArray matrix,
InputArray kernel,
OutputArray components )
Python:
cv.ft.FT12D_components(matrix, kernel[, components]) -> components

#include <opencv2/fuzzy/fuzzy_F1_math.hpp>

直接 \(F^1\)-変換を用いて配列の成分を計算する。

引数
matrix入力配列。
kernel処理に使用するカーネル。関数 ft::createKernel を使用できる。
components成分を格納する出力 32 ビット浮動小数点配列。

この関数は、あらかじめ定義されたカーネルを使用して線形成分を計算する。

◆ FT12D_createPolynomMatrixHorizontal()

void cv::ft::FT12D_createPolynomMatrixHorizontal ( int radius,
OutputArray matrix,
const int chn )
Python:
cv.ft.FT12D_createPolynomMatrixHorizontal(radius, chn[, matrix]) -> matrix

#include <opencv2/fuzzy/fuzzy_F1_math.hpp>

\(F^1\)-変換の計算用の水平行列を作成する。

引数
radius基底関数の半径。
matrix水平行列。
chnチャンネル数。

この関数は、\(F^1\)-変換処理用の補助的な水平行列を作成する。勾配の計算に使用される。

◆ FT12D_createPolynomMatrixVertical()

void cv::ft::FT12D_createPolynomMatrixVertical ( int radius,
OutputArray matrix,
const int chn )
Python:
cv.ft.FT12D_createPolynomMatrixVertical(radius, chn[, matrix]) -> matrix

#include <opencv2/fuzzy/fuzzy_F1_math.hpp>

\(F^1\)-変換の計算用の垂直行列を作成する。

引数
radius基底関数の半径。
matrix垂直行列。
chnチャンネル数。

この関数は、\(F^1\)-変換処理用の補助的な垂直行列を作成する。勾配の計算に使用される。

◆ FT12D_inverseFT()

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

#include <opencv2/fuzzy/fuzzy_F1_math.hpp>

逆 \(F^1\)-変換を計算する。

引数
components成分を格納する入力 32 ビット浮動小数点シングルチャンネル配列。
kernel処理に使用するカーネル。成分計算に使用したものと同じカーネルを使用する必要がある。
output出力 32 ビット浮動小数点配列。
width出力配列の幅。
height出力配列の高さ。

逆 \(F^1\)-変換の計算。

◆ FT12D_polynomial()

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

#include <opencv2/fuzzy/fuzzy_F1_math.hpp>

\(F^1\)-変換成分の要素を計算する。

引数
matrix入力配列。
kernel処理に使用するカーネル。関数 ft::createKernel を使用できる。
c00要素は平均色を表す。
c10要素は垂直方向の平均勾配を表す。
c01要素は水平方向の平均勾配を表す。
components成分を格納する出力 32 ビット浮動小数点配列。
mask不要な領域のマーキングにマスクを使用できる。

この関数は、あらかじめ定義されたカーネルとマスクを使用して成分とその要素を計算する。

◆ FT12D_process()

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

#include <opencv2/fuzzy/fuzzy_F1_math.hpp>

\(F^1\)-変換と逆 \(F^1\)-変換を一度に計算する。

引数
matrix入力行列。
kernel処理に使用するカーネル。関数 ft::createKernel を使用できる。
output出力 32 ビット浮動小数点配列。
mask不要な領域をマーキングするために使用するマスク。

この関数は \(F^1\)-変換とその逆変換 \(F^1\)-変換を1ステップで計算する。cv::Mat に対して完全に十分かつ最適化されている。

覚え書き
1次の F変換手法は論文 [298] で説明されている。