正方形から台形への射影変換
조회 수: 22 (최근 30일)
이전 댓글 표시
正方形から台形への射影変換をしたいと考えています。
projective2d を使えばできると分かったのですが行列にどのような値を入れればいいのかがあるのかが分かりません。
もしわかる人がおりましたら教えていただきたいです。
댓글 수: 0
채택된 답변
Hernia Baby
2021년 7월 7일
回転というよりは四隅の投影をおこないました。
以下を参照しています。
-------------------------------
初期化
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];
画像の変換
投影を行います。具体的には四隅をフィットさせるイメージです。
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
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 幾何学的変換とイメージ レジストレーション에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!