画像の歪み補正のやり方について

大変初歩的な質問で恐縮ですが,画像の歪み補正についてご教授いただければ幸いでございます.
上記のURLに記載されている通り,カメラパラメーターの出力はできたのですが,
それ以降,どのように画像の歪み補正をすればよいのかわかりません.
一度パラメーターを取得できれば,同じカメラで撮った別の画像の歪み補正にそのパラメーターを
利用できると解釈しているのですが,お間違いないでしょうか.
よろしくお願いいたします.

 採用された回答

Kenta
Kenta 2021 年 9 月 16 日

0 投票

こんにちは、こちらの関数を用いて補正できます
J1 = undistortImage(I,cameraParams);
のような感じですが、詳しくは上のドキュメントを見ていただけると良いと思います。
>>一度パラメーターを取得できれば,同じカメラで撮った別の画像の歪み補正にそのパラメーターを
利用できると解釈している
はい、そのとおりです。ただキャリブレーションしたときと似た距離感で取得した画像が望ましいです。たとえば50cm離れた位置で画像を取得し、キャリブレーションしたときはそれくらいの距離感の画像に対して今後も使うようにするとよいと思います。

4 件のコメント

Tomo
Tomo 2021 年 9 月 17 日
こんにちは,回答いただきありがとうございます.
補正を試みたところ
画像サイズがカメラの内部パラメーターと一致しません。イメージが指定のカメラで生成されていない可能性があります。
エラー: undistortImage (行 94)
vision.internal.inputValidation.checkImageSize(I, intrinsics.ImageSize);
このようなエラーが出ました.
これは,アドバイスくださったように,キャリブレーション時と実際に撮影した距離が違っていることが原因なのでしょうか.
カメラは同じですが,撮影した距離は,キャリブレーション時は1m,実際に撮影した距離は50mと,
大きく異なってしまっています.
ご助言いただけましたら幸いでございます.よろしくお願いいたします.
Kenta
Kenta 2021 年 9 月 17 日
こんにちは、「画像サイズがカメラの内部パラメーターと一致しません」ということは、画像のサイズがあってないのではないでしょうか。例えば、キャリブレーションのときの撮影の画像サイズといま動かしている画像のサイズがちがうのでは?と思いました、ご確認いただけますと幸いです。
Tomo
Tomo 2021 年 9 月 17 日
こんにちは
動画から画像に切り出す際の方法を同じにしたところ,解決いたしました.
ご指摘のように,画像サイズが異なっていたようです.
ありがとうございました.
Kenta
Kenta 2021 年 9 月 17 日
連絡ありがとうございます、解決したようでよかったです!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeMATLAB Support Package for USB Webcams についてさらに検索

タグ

質問済み:

2021 年 9 月 16 日

コメント済み:

2021 年 9 月 17 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!