定义:一个非奇异线性变换接一个平移变换

矩阵形式:

一个平面上的放射变换有6个自由度

缩放:

旋转:

剪切:

平移:

可用tform = affine2d(T)来生成仿射变换的矩阵

关于此函数的详细解释:https://ww2.mathworks.cn/help/images/ref/affine2d.html

可用imwarp(A,tfrom)来进行仿射变换,

此函数的具体解释:https://ww2.mathworks.cn/help/images/ref/imwarp.html

例如

clear all;
clc;
I = imread('cameraman.tif');
tform = affine2d([1 0 0; .5 1 0; 0 0 1]);
J = imwarp(I,tform);
figure, imshow(I), figure, imshow(J)
%旋转变换:
I = imread('cameraman.tif');
tform = affine2d([0 1 0; -1 0 0; 0 0 1]);
J = imwarp(I,tform);
imshow(J)%剪切变换
I = imread('cameraman.tif');
tform = affine2d([1 0 0;.5 1 0; 0 0 1]);
J = imwarp(I,tform);
imshow(J)
%平移变换
I = imread('cameraman.tif');
tform = affine2d([1 0 0;0 1 0;2 2 1]);
J = imwarp(I,tform);
imshow(J)

了解其变换原理也可以自己实现变换函数,如:

function pt=zoom(p1)
%0.5倍缩放图像
[x,y]=size(p1);
pt=ones(x,y);
A=[0.5 0 0;0 0.5 0;0 0 1];
for i = 1:xfor j = 1:yb=A*([i,j,double(p1(i,j))]');k=uint8(b(1));l=uint8(b(2));pt(k,l)=b(3);end
end
pt=uint8(pt);

MATLAB利用仿射变换实现图像的缩放,旋转,剪切,平移操作相关推荐

  1. R语言使用magick包的image_rotate函数、image_flip函数、image_flop函数对图像进行缩放旋转、镜像、翻转(Rotate or mirror the image)

    R语言使用magick包的image_rotate函数.image_flip函数.image_flop函数对图像进行缩放旋转.镜像.翻转(Rotate or mirror the image) 目录

  2. 深度学习数据增强方法,利用仿射变换实现图像进行各种操作如平移、缩放、旋转、翻转

    导读 在深度学习的数据增强中,我们经常需要对图像进行各种增强操作如平移.缩放.旋转.翻转等,这些其实都是图像的仿射变换.通过本篇文章,你能够知道它们的实现原理以及如何应用它们.本文讲述如何通过仿射变换 ...

  3. 计算机图形学(1)(基础变换矩阵:缩放,旋转,平移)

    前言 开始学习图形学之后,真的后悔自己当初线性代数学的不够扎实,在写这一篇学习笔记之前,也是回看了很多关于向量.矩阵.点乘.叉乘的知识. 目录 前言 一.2D线性变换 1.缩放 2.剪切 3.旋转 二 ...

  4. MATLAB旋转和平移时,以白色填充多出来的区域

    主要思路:在旋转和平移操作之前进行一个~image操作,旋转和平移之后在~image(取反)回来就行. img = imread('1.bmp');img = rgb2gray(img);thresh ...

  5. 【opencv 学习】仿射变换(图像的旋转、缩放、平移)

    import numpy as np import cv2# 仿射变换的两种方式: # 1.利用变换前后的三个坐标点达到变换目的. # 2.使用旋转角度和缩放倍数来变换. # 可以用矩阵相乘或者向量叠 ...

  6. 图像的仿射变换原理及c++实现(旋转,平移,缩放,偏移,组合变换)

    github地址:https://github.com/2209520576/Image-Processing-Algorithm 一.写在前面 几何空间变换是图像处理中的最基础的算法,主要包括图像的 ...

  7. matlab图像处理二,图像缩放、旋转、修剪

    图像的缩放 A = imresize(I, scale). I:原图像 scale:>1,放大:<1,缩小 A:缩放后的图像 I=imread('C:\Users\14372\Deskto ...

  8. 图像几何变换--缩放、平移、镜像、旋转

    目录 一.图像几何变换基础 二.平移 三.缩放 四.旋转 五.镜像 六.复合变换 七.变换矩阵总结 八.完整代码 一.图像几何变换基础 1.图像的几何变换是指原始图像按照需要产生大小.形状和位置的变化 ...

  9. matlab 通过矩阵变换使图像旋转平移_图像的几何变换

    学习图像中的仿射变换(affine transform), 这是一种线性变换(涵盖旋转,平移,错切(shear), 缩放等线性变换),既然是线性变换则可以通过线性变换(矩阵)来获得.仿射变换矩阵M为2 ...

最新文章

  1. 热评一箩筐——《黑客攻防技术宝典》
  2. 一个python程序员需要掌握的知识-python初学者搭建网站需要了解的基础知识
  3. 深入浅出python机器学习_3.3.1_对数据集进行分析
  4. [LUOGU] P4342 [IOI1998]Polygon
  5. 发生生成错误是否继续并运行上次的成功生成_JavaScript 是如何运行的?
  6. ci php做多图上传,CodeIgniter快速实现图片上传
  7. Java IO学习第二天部分详解
  8. 如何在Mac/苹果电脑上接收iPhone短信
  9. 智能仓储物流技术知识点汇总(部分)
  10. Windows开启卓越性能模式,一键睿频
  11. java 汇率换算_汇率转换示例代码
  12. 台式计算机刚做完系统就蓝屏,联想台式win10重装系统出现蓝屏,一招解决系统蓝屏问题...
  13. 算法篇 干货!!!字母重排 打卡第七天
  14. gentoo linux 内核,手动升级Gentoo及其内核的方法
  15. Spark 报错:Lost task 0.0 in stage 1.0 (TID 2, xxx, executor 0): java.io.FileNotFoundExceptio
  16. 2021-10-11 今日总结
  17. Zcash中的signatures
  18. app Token验证流程
  19. MySQL中单句实现无限层次父子关系查询
  20. Go Flag包使用及解析

热门文章

  1. 2020年AJ超级配乐库音频配乐资源2020.VOL-09更新100首Audio Jungle音乐素材包
  2. oracle税务运维脚本练习,荣欣Linux运维+Oracle DBA初级+高级全套实战训练
  3. 正交设计 python算法_Python实现正交实验法-高级篇
  4. html网页设计一个简单的用户登录页面
  5. google浏览器显示Adobe Flash player过期的处理方法
  6. ZYNQ - 嵌入式Linux开发 -10- ZYNQ启动流程分析
  7. uc浏览器、QQ浏览器的h5页面,点击分享按钮,分享到微信、qq、微博
  8. Vue报错:Error in v-on handler: “ReferenceError: regeneratorRuntime is not defined“
  9. Word 插入图片后不显示或显示不完整怎么办
  10. C# Microsoft.Office.Interop.Excel Could not load file Error