当前位置:首页 > 代码 > 正文

仿射变换matlab代码(仿射变换怎么求)

admin 发布:2022-12-19 22:42 129


本篇文章给大家谈谈仿射变换matlab代码,以及仿射变换怎么求对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

求一个matlab图形处理的程序加解析

一、实验题目

读取图像文件:q6g.jpg

生成新的车牌参考图像,该图像大小为120*330,其中间100*310大小的矩形设为白色,周围为黑色,显示该图像;

假设图像为仿射变换,手工选择的4个约束点,配准q6g.jpg中的车牌,并显示配准后的图像;

q6g.jpg中的车牌相对于车牌参考图像的仿射变换矩阵是?

二、实验要求

1. 生成新的车牌参考图像;

2. 用cpselect选择对应点;

3. 配准、显示图像;

4. 得出仿射变换矩阵。

三、实验目的

(1)练习使用Matlab;

(2)练习使用矩阵生成;

(3)练习使用cpselect选取配准点;

(4)理解变换结构,得出变换矩阵。

四、程序代码

close all;

clc;clear;

a=imread('q6g.jpg');

b=zeros(120,330); %开始生成参考图像

b(11:110,11:320)=255;

b=uint8(b); %生成参考图像

% b=imread('q0g.bmp'); %标准图像

imshow(a),figure,imshow(b);

[input_points, base_points]=cpselect(a,b,'wait',ture); %选择点 file-export—全选—ok

tform = cp2tform(input_points, base_points, 'affine'); %在此处设置断点

k = imtransform(a,tform); %修正图像

figure,imshow(k); %变换矩阵为

tform.tdata.T图片 要的话 先给 分 ,然后给图片

用仿射函数maketform、imtransform进行图像的旋转变换

其中maketform中的[0 -1 0; 1 0 0; 0 0 1]是使用到的仿射变换矩阵

然后利用变换矩阵[0 -1 0; 1 0 0; 0 0 1]对I只做一次仿射变换(即[0 -1 0; 1 0 0; 0 0 1]*i),得到了变换结果矩阵T

Maketform函数就是利用给定的参量建立变换结构,然后把该变换结构赋给结构体变换,根据得到的结构体变量T调用imtransform函数进行变换。

不懂可追问哦!~~

求MATLAB GUI 环境下 图像处理图像的平移,任意角度的旋转,缩放和翻转,仿射变换等的源代码

该gui函数基本上包括图像处理里面的最基本处理,相当于一个小型photoshop。

比如读取文件,

几何变换中的垂直镜像,平移,旋转,缩放;

正交变换的DFT,FFT,DCT,DST,DHT,DWashT;

灰度处理中的反色,直方图均衡,全局线性变换,分段线性变换,指数非线性变换,对数非线性变换;

图像增强里面的加噪声,平滑,锐化,伪彩色增强;

图像分割里面的灰度阈值法,Robert,Laplace,sobel,prewitt,canny算子边缘检测法;

图像恢复里面的直接逆滤波,维纳滤波;图像编码里面的霍夫曼编码,行程编码-

matlab小问题。。。

clear all;

clc;

I1=imread('D:\ebook\ref.bmp');

I2=imread('D:\ebook\swt.bmp');

unregistered =I2;%%未配准图像

rect=I1;%%参考图像

cpselect(unregistered(:,:,1),rect);%%%选择点对,选完后记得保存

uiwait(msgbox('Click OK after closing the CPSELECT window.','Waiting...'))

input_points_corr= cpcorr(input_points,base_points,unregistered,rect);

tform = cp2tform(input_points_corr,base_points,'linear conformal');%%仿射变换

registered = imtransform(unregistered,tform,'XData',[1 300], 'YData',[1 300]);%%对图像进行重采样

H.Position=[232 258 600 402];

figure(H)

subplot(2,2,1)

imagesc(rect)

title('Original image 1')

subplot(2,2,3)

imagesc(unregistered)

title('Unmatched image 2')

subplot(2,2,2)

imagesc(rect)

title('Original image 1')

subplot(2,2,4)

imagesc(registered)

title('Matched image 2')

colormap (gray)

步骤:

1 运行程序,在input里点一个点,在base里在大概相等的位置点一个点,这个两个点构成点对;

2 选取三对以上的点(仿射变换,至少需要三对点);

3 选完后,点file -save points to workspace ,然后再点击ok按钮;

这函数不是很好,你选取的点对位置差不多的话,配准较好,差的远的话,配准会失效;

请教Matlab图像匹配中多对匹配点求仿射变换矩阵的问题

用matlab写最方便。

低端方法思路很简单,取梯形的上下低边长之比和梯形的高,做图像的拉伸,拉伸比例延高的方向渐变,也就是将长方行变为梯形的逆变换。

另外有种高端些的方法,你去找找讲图像匹配的书,图像匹配常用于卫星SAR图像的处理,多用Matlab处理。你看看就明白了,能拓展你的思路。

另外遇到问题别先找代码和程序,不利你编程能力的提高,代码你自己写吧,不难的,希望能帮到你。

基于sift图像复制粘贴篡改检测的MATLAB代码

基于sift的图像复制粘贴篡改检测方法,首先提取出sift特征,这里提取的sift特征是用c++代码提取的,然后进行g2nn匹配和

凝聚层次聚类 ,最后根据仿射变换参数标出篡改区域。并用连线的方式将真实区域和复制粘贴篡改区域标记出来。

仿射变换matlab代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于仿射变换怎么求、仿射变换matlab代码的信息别忘了在本站进行查找喔。

版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/28232.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载