資源簡介
在matlab中實現透視變換。算法正確高效,這種仿射變換經過修改后可用于圖像矯正或者攝像機標定等用途。
代碼片段和文件信息
close?all;
clc;
H=1;????????????????????????%索引pix中第一個元素,即高度
W=2;????????????????????????%索引pix中第二個元素,即寬度
left_right=0.3;???????????????%抬起左邊或右邊時值為0-1之間,不抬起時為0
up_down=0;????????????????%抬起上邊或下邊時值為0-1之間,不抬起時為0
img=imread(‘lena.jpg‘);???????%這里v為原圖像的高度,u為原圖像的寬度
imshow(img);????????????????????%這里y為變換后圖像的高度,x為變換后圖像的寬度
%img=flipud(img);???????????%注釋掉為抬起下邊,沒注釋掉為抬起上邊
%img=fliplr(img);???????????%注釋掉為抬起右邊,沒注釋掉為抬起左邊
[v?u]=size(img);
a=1;b=up_down;c=0;
d=left_right;e=1;f=0;
g=up_down/v;h=left_right/u;i=1;
rot=[a?b?c;d?e?f;g?h?i];
pix1=[1?1?1]*rot./(g+h+i);?????????????????%變換后圖像左上點的坐標
pix2=[1?u?1]*rot./(g*v+h+i);???????????????%變換后圖像右上點的坐標
pix3=[v?1?1]*rot./(g+h*u+i);???????????????%變換后圖像左下點的坐標
pix4=[v?u?1]*rot./(g*v+h*u+i);?????????????%變換后圖像右下點的坐標
height=round(max([
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????10555??2013-03-18?21:32??toushibianhuan\lena.jpg
?????文件???????3872??2013-03-20?09:14??toushibianhuan\toushibianhuan.m
?????目錄??????????0??2013-03-20?09:13??toushibianhuan
-----------?---------??----------?-----??----
????????????????14427????????????????????3
評論
共有 條評論