MATLAB Answers

正方形から台形への射影変換

14 views (last 30 days)
akasa
akasa on 7 Jul 2021
Commented: Atsushi Ueno on 8 Jul 2021
正方形から台形への射影変換をしたいと考えています。
projective2d を使えばできると分かったのですが行列にどのような値を入れればいいのかがあるのかが分かりません。
もしわかる人がおりましたら教えていただきたいです。

Accepted Answer

Hernia Baby
Hernia Baby on 7 Jul 2021
回転というよりは四隅の投影をおこないました。
以下を参照しています。
-------------------------------
初期化
clc,clear,close;
画像の読み込み
使用している画像は愛犬チャチャです。
img = imread('chacha_sq.jpeg' );
imshow(img)
投影前と投影後の4隅の設定
 各点の(x,y)座標を設定します。
 movingPoints :投影前の [左上, 右上, 左下, 右下]
 fixedPoints :投影後の [左上, 右上, 左下, 右下]
movingPoints = [1 1; size(img,2) 1; 1 size(img,1); size(img,2) size(img,1)];
fixedPoints = [500 700; 1500-500 700; 35 1500-500; 1500 1500-500];
画像の変換
 投影を行います。具体的には四隅をフィットさせるイメージです。
 詳しくは fitgeotrans と imref2d を参照してください。
tform = fitgeotrans(movingPoints, fixedPoints, 'Projective');
RA = imref2d([size(img,1) size(img,2)], [1 size(img,2)], [1 size(img,1)]);
[out,r] = imwarp(img, tform, 'OutputView', RA);
画像の表示
imshow(out, r);
axis off;
  7 Comments
Atsushi Ueno
Atsushi Ueno on 8 Jul 2021
この質問は「射影変換を行う方法」であり既に完結しているので、コメントを別の質問に改めます。

Sign in to comment.

More Answers (0)

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!