OpenCV 4.5.3(日本語機械翻訳)
|
列挙型 |
|
enum |
cv::InterpolationFlags
{
cv::INTER_NEAREST = 0 , cv::INTER_LINEAR = 1 , cv::INTER_CUBIC = 2 , cv::INTER_AREA = 3 , cv::INTER_LANCZOS4 = 4 , cv::INTER_LINEAR_EXACT = 5 , cv::INTER_NEAREST_EXACT = 6 , cv::INTER_MAX = 7 , cv::WARP_FILL_OUTLIERS = 8 , cv::WARP_INVERSE_MAP = 16 } |
補間アルゴリズム[【詳解】(英語]
|
|
enum | cv::WarpPolarMode { cv::WARP_POLAR_LINEAR = 0 , cv::WARP_POLAR_LOG = 256 } |
極座標マッピングモードの指定[【詳解】(英語]
|
|
enum | InterpolationMasks { INTER_BITS = 5 , INTER_BITS2 = INTER_BITS * 2 , INTER_TAB_SIZE = 1 << INTER_BITS , INTER_TAB_SIZE2 = INTER_TAB_SIZE * INTER_TAB_SIZE } |
関数 |
|
CV_EXPORTS_W void | cv::resize (InputArray src, OutputArray dst, Size dsize, double fx=0, double fy=0, int interpolation=INTER_LINEAR) |
画像のサイズを変更します.[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::warpAffine (InputArray src, OutputArray dst, InputArray M, Size dsize, int flags=INTER_LINEAR, int borderMode=BORDER_CONSTANT, const Scalar &borderValue=Scalar()) |
画像にアフィン変換を施します.[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::warpPerspective (InputArray src, OutputArray dst, InputArray M, Size dsize, int flags=INTER_LINEAR, int borderMode=BORDER_CONSTANT, const Scalar &borderValue=Scalar()) |
画像に透視変換を施します.[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::remap (InputArray src, OutputArray dst, InputArray map1, InputArray map2, int interpolation, int borderMode=BORDER_CONSTANT, const Scalar &borderValue=Scalar()) |
一般的な幾何学変換を画像に適用します.[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::convertMaps (InputArray map1, InputArray map2, OutputArray dstmap1, OutputArray dstmap2, int dstmap1type, bool nninterpolation=false) |
画像変換マップを、ある表現から別の表現に変換します。[【詳解】(英語]
|
|
CV_EXPORTS_W Mat | cv::getRotationMatrix2D (Point2f center, double angle, double scale) |
2次元回転のアフィン変換行列を求めます.[【詳解】(英語]
|
|
CV_EXPORTS Matx23d | cv::getRotationMatrix2D_ (Point2f center, double angle, double scale) |
CV_EXPORTS Mat | cv::getAffineTransform (const Point2f src[], const Point2f dst[]) |
3組の対応点からアフィン変換を計算します.[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::invertAffineTransform (InputArray M, OutputArray iM) |
アフィン変換の逆変換を行います.[【詳解】(英語]
|
|
CV_EXPORTS_W Mat | cv::getPerspectiveTransform (InputArray src, InputArray dst, int solveMethod=DECOMP_LU) |
対応する4つの点の組から透視変換を求めます.[【詳解】(英語]
|
|
CV_EXPORTS Mat | cv::getPerspectiveTransform (const Point2f src[], const Point2f dst[], int solveMethod=DECOMP_LU) |
CV_EXPORTS_W Mat | cv::getAffineTransform (InputArray src, InputArray dst) |
CV_EXPORTS_W void | cv::getRectSubPix (InputArray image, Size patchSize, Point2f center, OutputArray patch, int patchType=-1) |
画像から,サブピクセル精度でピクセル単位の矩形を取得します.[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::logPolar (InputArray src, OutputArray dst, Point2f center, double M, int flags) |
画像を半極座標空間にリマップします。[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::linearPolar (InputArray src, OutputArray dst, Point2f center, double maxRadius, int flags) |
画像を極座標空間に再マッピングします。[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::warpPolar (InputArray src, OutputArray dst, Size dsize, Point2f center, double maxRadius, int flags) |
画像を極座標または半極座標空間に再マッピングします。[【詳解】(英語]
|
|
補間アルゴリズム
列挙値 | |
---|---|
INTER_NEAREST |
最近傍補間 |
INTER_LINEAR |
バイリニア補間 |
INTER_CUBIC |
バイキュービック補間 |
INTER_AREA |
画素の面積関係を利用したリサンプリング。モアレのない結果が得られるので、画像のデシメーションには好ましい方法かもしれません。しかし、画像を拡大すると、INTER_NEAREST法と同様の結果になります。 |
INTER_LANCZOS4 |
8x8近傍でのLanczos補間を行います。 |
INTER_LINAR_EXACT |
ビット厳密なバイリニア補間 |
INTER_NEAREST_EXACT |
ビット単位の正確な最近傍補間。PIL, scikit-image, Matlabでの最近傍法と同じ結果が得られます. |
INTER_MAX |
補間コードのマスク. |
warp_fill_outliers |
フラグを指定すると,出力画像のすべてのピクセルを埋めます.そのうちのいくつかが,ソース画像の外れ値に対応する場合,それらは0にセットされます |
warp_inverse_map |
フラグ、逆変換 例えば,以下のようになります.linearPolarまたはlogPolarは変換します。
|
enum cv::WarpPolarMode |
極座標マッピングモードの指定
列挙値 | |
---|---|
ワープ_ポーラー_リニア |
画像を極座標空間へ/からリマップします。 |
WARP_POLAR_LOG |
セミログ極性空間への/からの画像のリマップを行います。 |
CV_EXPORTS_W void cv::convertMaps | ( | InputArray | map1, |
InputArray | map2, | ||
OutputArray | dstmap1, | ||
OutputArray | dstmap2, | ||
int | dstmap1type, | ||
bool |
nninterpolation
=
false |
||
) |
画像変換マップを、ある表現から別の表現に変換します。
この関数は、リマップ用のマップのペアを、ある表現から別の表現に変換します。以下のオプション( (map1.type(), map2.type())(dstmap1.type(), dstmap2.type()) ) がサポートされています。
map1 | CV_16SC2, CV_32FC1, CV_32FC2 のいずれかのタイプの最初の入力マップ. |
map2 | 2 番目の入力マップは,それぞれ CV_16UC1,CV_32FC1,または none(空の行列). |
dstmap1 | src と同じサイズで, dstmap1type 型の 1 番目の出力マップ. |
dstmap2 | 2番目の出力マップ. |
dstmap1type | CV_16SC2, CV_32FC1, または CV_32FC2 であるべき,最初の出力マップの種類. |
nninterpolation | 固定小数点型マップが,最近傍補間に利用されるのか,より複雑な補間に利用されるのかを示すフラグ. |
3組の対応点からアフィン変換を計算します.
この関数は,アフィン変換の行列をの行列を計算し,次のようにします.
ここで
src | 入力画像中の三角形の頂点の座標 |
dst | デスティネーション画像における,対応する三角形の頂点の座標 |
CV_EXPORTS Mat cv::getPerspectiveTransform | ( | const Point2f | src[], |
const Point2f | dst[], | ||
int |
solveMethod
=
DECOMP_LU
|
||
) |
これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。
CV_EXPORTS_W Mat cv::getPerspectiveTransform | ( | InputArray | src, |
InputArray | dst, | ||
int |
solveMethod
=
DECOMP_LU
|
||
) |
対応する4つの点の組から透視変換を求めます.
この関数は,アフィン変換の行列を透視変換の行列を以下のように計算します。
ここで
src | 変換元画像の四角形の頂点の座標. |
dst | コピー先の画像にある,対応する四角形の頂点の座標 |
solveMethod | に渡されるメソッドです.cv::solve(DecompTypes) |
CV_EXPORTS_W void cv::getRectSubPix | ( | InputArray | image, |
Size | patchSize, | ||
Point2f | center, | ||
OutputArray | patch, | ||
int |
patchType
=
-1 |
||
) |
画像から,サブピクセル精度でピクセル単位の矩形を取得します.
関数 getRectSubPix は, src.Of.Picture からピクセルを抽出します.
ここで,非整数の座標にあるピクセルの値は,バイリニア補間を用いて取得されます.マルチチャンネル画像の各チャンネルは,独立して処理されます.また,画像はシングルチャンネルまたは3チャンネルの画像でなければいけません.矩形の中心は画像内になければなりませんが,矩形の一部が画像外にあっても構いません.
image | 元画像。 |
patchSize | 抽出されたパッチのサイズ. |
center | ソース画像内の抽出された矩形の中心の浮動小数点座標.中心は画像内になければなりません。 |
patch | src と同じサイズの patchSize と同じチャンネル数を持つ,抽出されたパッチ. |
patchType | 抽出されたピクセルの深さ.デフォルトでは, src と同じ深さになります. |
2次元回転のアフィン変換行列を求めます.
この関数は,以下のような行列を計算します.
ここで
この変換は,回転中心を自分自身にマッピングします.これがターゲットではない場合は,シフトを調整します.
center | ソース画像における回転の中心. |
angle | 度単位で表される回転角度.正の値は,反時計回りの回転を意味します(座標原点は左上隅であると仮定します). |
scale | 等方性のスケールファクターです。 |
CV_EXPORTS_W void cv::invertAffineTransform | ( | InputArray | M, |
OutputArray | iM | ||
) |
アフィン変換の逆変換を行います.
この関数は,次式で表されるアフィン変換の逆変換を求めます行列 M で表される逆アフィン変換を求めます.
その結果は,M と同じ型の結果もまた,M と同じ型の行列です.
M | 元のアフィン変換。 |
iM | 出力される逆アフィン変換. |
CV_EXPORTS_W void cv::linearPolar | ( | InputArray | src, |
OutputArray | dst, | ||
Point2f | center, | ||
double | maxRadius, | ||
int | flags | ||
) |
画像を極座標空間に再マッピングします。
CV_EXPORTS_W void cv::logPolar | ( | InputArray | src, |
OutputArray | dst, | ||
Point2f | center, | ||
double | M, | ||
int | flags | ||
) |
画像を半極座標空間にリマップします。
CV_EXPORTS_W void cv::remap | ( | InputArray | src, |
OutputArray | dst, | ||
InputArray | map1, | ||
InputArray | map2, | ||
int | interpolation, | ||
int |
borderMode
=
BORDER_CONSTANT
,
|
||
const Scalar & |
borderValue
=
Scalar() |
||
) |
一般的な幾何学変換を画像に適用します.
関数 remap は,指定されたマップを用いて入力画像を変換します.
ここで,非整数の座標を持つピクセルの値は,利用可能な補間手法の1つを用いて計算されます.および
は,それぞれ独立した浮動小数点型マップである
および
の独立した浮動小数点マップ,あるいは,インターリーブされた
を使用します。
のインターリーブされた浮動小数点マップ,または convertMaps を用いて作成された固定小数点マップとしてエンコードすることができます。マップを浮動小数点表現から固定小数点表現に変換したい理由は,再マッピング操作が非常に高速(2倍)になるからです.変換されたケースでは
には,ペア (cvFloor(x), cvFloor(y)) が含まれており
補間係数のテーブルのインデックスを含みます.
この関数は,インプレイス処理を行うことはできません.
src | 元画像。 |
dst | 出力画像.map1 と同じサイズで, src と同じ型です. |
map1 | (x,y)点,または CV_16SC2 , CV_32FC1, CV_32FC2 型の x 値のみからなる最初のマップ.高速化のために浮動小数点表現を固定小数点に変換する方法の詳細は, convertMaps を参照してください. |
map2 | 2番目のマップは,それぞれ CV_16UC1, CV_32FC1, none (map1 が (x,y) 点の場合は,空のマップ)の型を持つ y 値のマップです. |
interpolation | 補間方法(以下のInterpolationFlags). メソッドINTER_AREAおよびINTER_LINEAR_EXACTは,この関数ではサポートされません. |
borderMode | ピクセル外挿法(参照BorderTypes). borderMode=BORDER_TRANSPARENTの場合は,ソース画像の「外れ値」に対応する出力画像のピクセルが,この関数によって変更されないことを意味します. |
borderValue | ボーダーが一定の場合に利用される値です.デフォルトでは,0です. |
CV_EXPORTS_W void cv::resize | ( | InputArray | src, |
OutputArray | dst, | ||
Size | dsize, | ||
double |
fx
=
0 ,
|
||
double |
fy
=
0 ,
|
||
int |
interpolation
=
INTER_LINEAR
|
||
) |
画像のサイズを変更します.
関数 resize は,画像 src を指定されたサイズまで,あるいはそれ以上にリサイズします.ただし,初期状態の dst の型やサイズは考慮されません.代わりに,サイズとタイプはsrc
,dsize
,fx
を満たす。fy
. あらかじめ作成された dst に収まるように src のサイズを変更したい場合は,以下のようにこの関数を呼び出します.
画像を各方向に2分の1ずつ縮小したい場合は,このように関数を呼び出します.
画像を縮小するには,一般的に補間が最適です.INTER_AREA一方,画像を拡大する場合には,c::INTER_CUBIC(遅い)あるいはINTER_LINEAR(より速いが,それでも問題はない).
src | 入力画像. |
dst | src.size(), fx, fy から計算されたサイズ,または dsize (0でない場合)を持ちます. |
dsize | 出力画像のサイズ.これが0の場合,次のように計算されます.
|
fx | 水平軸方向のスケールファクタ; これが0の場合,以下のように計算されます
|
fy | 垂直軸方向のスケールファクタ;0に等しい場合,次のように計算されます
|
interpolation | 補間法,参照InterpolationFlags |
CV_EXPORTS_W void cv::warpAffine | ( | InputArray | src, |
OutputArray | dst, | ||
InputArray | M, | ||
Size | dsize, | ||
int |
flags
=
INTER_LINEAR
,
|
||
int |
borderMode
=
BORDER_CONSTANT
,
|
||
const Scalar & |
borderValue
=
Scalar() |
||
) |
画像にアフィン変換を施します.
関数 warpAffine は,指定された行列を用いて入力画像を変換します.
フラグWARP_INVERSE_MAPがセットされている場合 それ以外の場合,変換はまずinvertAffineTransformで反転された後,M の代わりに上述の式に入れられます.この関数は,インプレース処理を行うことはできません.
src | 入力画像. |
dst | src と同じ型で,サイズが dsize である出力画像. |
M |
![]() |
dsize | 出力画像のサイズ. |
flags | 補間手法の組み合わせ(参照InterpolationFlagsを参照してください)と,オプションのフラグWARP_INVERSE_MAPこれは,M が逆変換であることを意味します (![]() |
borderMode | ピクセル外挿法(参照BorderTypes); borderMode=BORDER_TRANSPARENTの場合,入力画像中の「外れ値」に対応する出力画像中のピクセルは,この関数によって変更されないことを意味します. |
borderValue | ボーダーが一定の場合に使われる値で,デフォルトでは0です. |
CV_EXPORTS_W void cv::warpPerspective | ( | InputArray | src, |
OutputArray | dst, | ||
InputArray | M, | ||
Size | dsize, | ||
int |
flags
=
INTER_LINEAR
,
|
||
int |
borderMode
=
BORDER_CONSTANT
,
|
||
const Scalar & |
borderValue
=
Scalar() |
||
) |
画像に透視変換を施します.
関数 warpPerspective は,指定された行列を用いて入力画像を変換します.
フラグWARP_INVERSE_MAPが設定されている場合は,その行列を用いて元画像を変換します.そうでない場合は,まず invert で変換を反転させてから,M の代わりに上の式に入れます.この関数は,インプレースでは動作しません.
src | 入力画像. |
dst | src と同じ型で,サイズが dsize である出力画像. |
M |
![]() |
dsize | 出力画像のサイズ. |
flags | 補間手法の組み合わせ (INTER_LINEARまたはINTER_NEARESTを参照してください)と,オプションのフラグWARP_INVERSE_MAPM を逆変換として設定する (![]() |
borderMode | ピクセル外挿法 (BORDER_CONSTANTまたはBORDER_REPLICATE). |
borderValue | の値は,境界が一定の場合に使用されます.デフォルトでは,0 に設定されています. |
CV_EXPORTS_W void cv::warpPolar | ( | InputArray | src, |
OutputArray | dst, | ||
Size | dsize, | ||
Point2f | center, | ||
double | maxRadius, | ||
int | flags | ||
) |
画像を極座標または半極座標空間に再マッピングします。
ソース画像を次の変換を用いて変換します。
ここで
および
極座標マッピングには,線形または半対数があります。のいずれかを追加します。WarpPolarModeからflags
のいずれかを追加して、ポーラーマッピングのモードを指定します。
Linearはデフォルトのモードです。
セミログマッピングは、人間の「小窩座」と呼ばれる視覚を模倣しています。小窩座では、視線方向の視力が非常に高く、周辺部では視力が低くなります。
dsize <=0
(の場合(デフォルト)、デスティネーションイメージはソースのバウンディングサークルの面積と(ほぼ)同じになります。
dsize.height <= 0
のみの場合,出力画像の面積は境界円の面積に比例しますが,スケーリングはKx * Kx
:
dsize > 0
によってスケーリングされた場合,出力画像は指定されたサイズになるので,外接円の面積は以下のようにスケーリングされます.dsize
.を加えたリバースマッピングを行うことができます。WARP_INVERSE_MAPからflags
極座標から元の座標を計算するには、次のようにします。:
src | 元画像。 |
dst | 出力画像.src と同じ種類になります。 |
dsize | 出力画像のサイズ(有効なオプションについては,説明を参照してください). |
center | 変換の中心を表します. |
maxRadius | 変換する境界円の半径です.逆方向の大きさを表すスケールパラメータもここで決まります. |
flags | 補間方法の組み合わせです.InterpolationFlags+WarpPolarMode.
|