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

詳細説明

関数

void cv::correctChromaticAberration (InputArray input_image, InputArray coefficients, OutputArray output_image, const Size &image_size, int calib_degree, int bayer_pattern=-1)
 多項式歪みモデルを用いて、画像の倍率色収差を補正する。
 
void cv::loadChromaticAberrationParams (const FileNode &node, OutputArray coeffMat, Size &calib_size, int &degree)
 開かれた FileStorage から色収差キャリブレーションパラメータを読み込む。
 

関数詳解

◆ correctChromaticAberration()

void cv::correctChromaticAberration ( InputArray input_image,
InputArray coefficients,
OutputArray output_image,
const Size & image_size,
int calib_degree,
int bayer_pattern = -1 )
Python:
cv.correctChromaticAberration(input_image, coefficients, image_size, calib_degree[, output_image[, bayer_pattern]]) -> output_image

#include <opencv2/photo.hpp>

多項式歪みモデルを用いて画像の倍率色収差を補正する。

この関数は指定したファイルから多項式キャリブレーションデータを読み込み、色収差を除去するためにチャンネルごとのワープを適用する。input_image が1チャンネルの場合、生のベイヤー画像とみなされ、まず bayer_pattern を用いてデモザイクされる。3チャンネルの場合はBGR画像として扱われ、bayer_pattern は無視される。

まず、白背景に黒い円が並んだパターンの写真を用いて apps/chromatic-aberration-calibration/ca_calibration.py によりキャリブレーションを行う必要がある。このパターンは opencv_extra/testdata/cv/cameracalibration/chromatic_aberration/chromatic_aberration_pattern_a3.png に含まれている。

キャリブレーションと補正は [240] に記載されたアルゴリズムに基づく。色収差は、緑チャンネルと比較した赤および青チャンネルにおける、ある次数の多項式としてモデル化される。キャリブレーションでは白背景に多数の黒い円が写った写真を用い、緑チャンネルと比較した赤および青チャンネルの円の中心間のずれを最小化する。係数はyamlファイルに保存され、この関数で倍率色収差を補正するために使用できる。

引数
input_image補正対象の入力BGR画像
coefficients係数モデル
output_image補正されたBGR画像
image_sizeキャリブレーション係数モデル用の画像サイズ
calib_degreeキャリブレーション係数モデルの次数
bayer_patterninput_image が1チャンネルの場合にデモザイクで使用するベイヤーパターンコード(例: cv::COLOR_BayerBG2BGR)。それ以外の場合は無視される。
参照
loadChromaticAberrationParams, demosaicing

◆ loadChromaticAberrationParams()

void cv::loadChromaticAberrationParams ( const FileNode & node,
OutputArray coeffMat,
Size & calib_size,
int & degree )
Python:
cv.loadChromaticAberrationParams(node[, coeffMat]) -> coeffMat, calib_size, degree

#include <opencv2/photo.hpp>

開かれた FileStorage から色収差キャリブレーション引数を読み込む。

指定したファイルから赤および青の多項式係数を読み込み、4×N CV_32F行列にパックする: 行0 = 青のdx係数 行1 = 青のdy係数 行2 = 赤のdx係数 行3 = 赤のdy係数

引数
node開かれた cv::FileStorage オブジェクトの Node
coeffMat出力される4xN係数行列(CV_32F)。
degreeNから推定される多項式の次数。
calib_sizeファイルから読み込まれたキャリブレーション画像サイズ。
参照
correctChromaticAberration
samples/cpp/snippets/chromatic_aberration_correction.cpp.