仿射变换

  几何变换会对图像的像素之间的空间关系加以修改,被称为“橡皮布变换”,常常用来实现图像配准。图像配准指的是取两张相同场景的图像并加以对准,从而可以将它们合并,以便目测或者定量比较。

tform 结构和 makeform 函数
tformfwd计算正变换,tforminv计算逆变换

代码示例

% 该代码用到了vistformfwd函数
% 定义为function vistformfwd(tform,wdata,zdata,N),N默认值为10。T1 = [3 0 0;0 2 0;0 0 1];                   % 水平缩放因子为3,垂直缩放因子为2
tform1 = maketform('affine',T1);
figure;
vistformfwd(tform1,[0 100],[0 100]);        % 建立点的栅格结构,使用tformfwd进行变换,显示变换前后图像T2 = [1 0 0;.2 1 0;0 0 1];
tform2 = maketform('affine',T2);            % 水平剪切
figure;
vistformfwd(tform2,[0 100],[0 100]);Tscale = [1.5 0 0;0 2 0;0 0 1];             % 缩放
Trotation = [cos(pi/4) sin(pi/4) 0;-sin(pi/4) cos(pi/4) 0;0 0 1];   % 旋转
Tshear = [1 0 0;.2 1 0;0 0 1];              % 剪切
T3 = Tscale * Trotation * Tshear;
tform3 = maketform('affine',T3);
figure;
vistformfwd(tform3,[0 100],[0 100]);

运行结果




图像空间变换


代码示例

% 线性等角变换f = checkerboard(50);                       % 产生一个一面为8个正方形的测试板,每个的边长均为50
s = 0.8;                                    % 缩放
theta = pi/6;                               % 旋转角度
T = [s*cos(theta) s*sin(theta) 0;-s*sin(theta) s*cos(theta) 0;0 0 1];
tform = maketform('affine',T);
g1 = imtransform(f,tform);                  % 双线性插值
g2 = imtransform(f,tform,'nearest');        % 最近邻内插,比双线性速度快但效果差
g3 = imtransform(f,tform,'FillValue',0.5);  % 用于输入图像区域外的像素颜色T2 = [1 0 0;0 1 0;50 50 1];
tform2 = maketform('affine',T2);            % 纯平移
% g4 = imtransform(f,tform2);
g5 = imtransform(f,tform2,'XData',[1 400],'YData',[1 400],'FillValue',0.5);subplot(2,3,1);imshow(f);title('原图像');
subplot(2,3,2);imshow(g1);title('默认双线性插值');
subplot(2,3,3);imshow(g2);title('最近邻内插');
subplot(2,3,4);imshow(g3);title('填充图像区域外的像素颜色');
subplot(2,3,6);imshow(g5);title('平移,指定输出空间位置');

运行结果


图像配准

代码示例

g = imread('aaa.tif');      % 图像b
basepoints = [83 81;450 56;43 293;249 392;436 442];
inputpoints = [68 66;375 47;42 286;275 434;523 532];
gp = imtransform(g,tform,'XData',[1 502],'YData',[1 502]);
imshow(gp);                 % 图像c


【图像处理】MATLAB:几何变换与图像配准相关推荐

  1. 数字图像处理第五章——几何变换与图像配准

    数字图像处理第五章 数字图像处理---几何变换与图像配准 (一)点变换 (二)仿射变换 (三)投影变换 (四)应用于图像的几何变换 (五)MATLAB 中的图像坐标系统 5.1 输出图像位置 5.2 ...

  2. matlab图片surf图,用matlab实现SURF图像配准 算法

    [实例简介] 一种使用用matlab实现SURF图像配准 算法 [实例截图] [核心代码] 55c5c3ca-3c4f-4857-a0b1-100a10233884 └── surf ├── exam ...

  3. matlab相位相关图像配准,数字图像处理,相位相关图像配准

    前言 图像配准是图像处理的基本任务之一,用于将不同时间.不同传感器.不同视角及不同拍摄条件下获取的关于同一目标或场景的两幅或多幅图像进行主要是几何意义上的匹配套和的过程.在对图像配准的研究过程中,大量 ...

  4. 巧解图像处理经典难题之图像配准

    (图片付费下载自视觉中国) 作者 | 白小鱼 转载自知乎用户白小鱼 [导读]图像配准与相关[1]是图像处理研究领域中的一个典型问题和技术难点,其目的在于比较或融合针对同一对象在不同条件下获取的图像,例 ...

  5. matlab 三维图像配准,[转载]Matlab实现多种图像配准(转)

    本文讲述如何利用Matlab Image Processing Toolbox中的图像配准工具实现线性正投影.仿射.投影.多项式.分段线性.局部加权平均配准的过程. 实验平台 X86 PC,Windo ...

  6. matlab中图像映射实例,[转载]Matlab实现多种图像配准(转)

    本文讲述如何利用Matlab Image Processing Toolbox中的图像配准工具实现线性正投影.仿射.投影.多项式.分段线性.局部加权平均配准的过程. 实验平台 X86 PC,Windo ...

  7. 图像平移配准matlab,(MATLAB应用图像处理)第6章MATLAB图像配准.ppt

    第6章 MATLAB图像配准 6.1 图像配准概述 6.1.1 图像配准定义 图像配准是对从不同传感器.不同时间.不同视点所获得的两幅或多幅图像进行最佳匹配,以达到空间匹配和叠加目的的处理过程.本质上 ...

  8. MATLAB 在图像处理和机器视觉的应用举例01 - 官网培训视频笔记(上)-- 图像分割和图像配准

    前言:笔记: 以下内容为Matlab的官网视频的笔记: 1课程大意: 2  图像处理的应用: 3 科学计算的基本流程: [案,Matlab的研究方法主要关注在算法的层面,但是,Matlab在数据的采集 ...

  9. (数字图像处理MATLAB+Python)第四章图像正交变换-第一节:离散傅里叶变换

    文章目录 一:一维离散傅里叶变换 (1)定义 (2)实例 二:一维快速傅里叶变换 (1)定义 (2)实例 三:二维离散傅里叶变换 (1)定义 (2)程序 四:二维离散傅里叶变换的性质 (1)可分性 ( ...

最新文章

  1. python导入csv文件-python如何导入csv
  2. android中可以使用bitmap的平铺,镜像平铺等减小图片带来的apk过大的问题
  3. 4分钟极速甩脂训练!抛开借口!繁忙族必备!
  4. Zookeeper的配置文件
  5. AutoML之图数据与表数据
  6. mysql basedal_spring与MyBatis结合
  7. 画图软件怎么做性能测试,软件性能测试能力提升解决方案.pdf
  8. 字节跳动Deep Retrieval召回模型笔记
  9. oracle 10g 安装介质,如何从Oracle 10g的安装介质中提取BBED必须的sbbdpt.o和ssbbded.o库文件...
  10. P3335-[ZJOI2013]蚂蚁寻路【dp】
  11. 创建新的option
  12. 真正聪明的人从来不自己做PPT,看完这篇就放假吧!
  13. Linux学习之SAMBA共享(无密码)
  14. 1.3 编程基础之算术表达式与顺序执行 08 温度表达转化
  15. 【bzoj 4455】小星星(树型DP+容斥原理+dfs建树和计算的2种方式)
  16. mysql 通过ssh通道安全连接数据库
  17. c++ 定时器_「正点原子Linux连载」第十九章定时器按键消抖实验
  18. android webview 透明背景,在android中的半透明webview背景
  19. Python PyQt5l表单应用 - 自定义选择下拉框样式
  20. IIC协议详解,附单片机软件模拟源码

热门文章

  1. Coding Problem 模拟
  2. ROS2——Win10上的rqt_graph无法正常运行
  3. 一元线性回归中loss值的变化分析
  4. Linux 多线程压缩/解压缩
  5. 【感悟】此时此刻,新年快乐
  6. redis 和 memcached的区别
  7. Spring-MVC的配置文件及路径问题
  8. linux下创建用户,给用户设置密码,给用户授权
  9. HDU 5067 Harry And Dig Machine:TSP(旅行商)
  10. Spring 整合 Junit4 进行单元测试