今天学习了用Matlab实现对图像的基本操作。在Matlab中,图像是按照二维矩阵的形式表示的。所以对图像的操作就是对矩阵的操作。

对图像进行缩放、平移、旋转,都可以转化为矩阵的运算。 
关于变换矩阵的构造,请参考: 
《 [gym 101047C Robotics Competition] 矩阵快速幂求解点旋转平移N次之后的位置》 
参考原图: 

1. 图像平移

init = imread('Fig3.tif'); % 读取图像
[R, C] = size(init); % 获取图像大小 res = zeros(R, C); % 构造结果矩阵。每个像素点默认初始化为0(黑色) delX = 50; % 平移量X delY = 50; % 平移量Y tras = [1 0 delX; 0 1 delY; 0 0 1]; % 平移的变换矩阵 for i = 1 : R for j = 1 : C temp = [i; j; 1]; temp = tras * temp; % 矩阵乘法 x = temp(1, 1); y = temp(2, 1); % 变换后的位置判断是否越界 if (x <= R) & (y <= C) & (x >= 1) & (y >= 1) res(x, y) = init(i, j); end end end; imshow(uint8(res)); % 显示图像

2. 图像旋转

init = imread('Fig3.tif'); % 读取图像
[R, C] = size(init); % 获取图像大小 res = zeros( R, C); % 构造结果矩阵。每个像素点默认初始化为0(黑色) alfa = -15 * 3.1415926 / 180.0; % 旋转角度 tras = [cos(alfa) -sin(alfa) 0; sin(alfa) cos(alfa) 0; 0 0 1]; % 旋转的变换矩阵 for i = 1 : R for j = 1 : C temp = [i; j; 1]; temp = tras * temp;% 矩阵乘法 x = uint16(temp(1, 1)); y = uint16(temp(2, 1)); % 变换后的位置判断是否越界 if (x <= R) & (y <= C) & (x >= 1) & (y >= 1) res(i, j) = init(x, y); end end end; imshow(uint8(res)); % 显示图像

3. 图像缩放

init = imread('Fig3.tif'); % 读取图像
[R, C] = size(init); % 获取图像大小 timesX = 3; % X轴缩放量 timesY = 3; % Y轴缩放量 res = zeros(timesX * R, timesY * C); % 构造结果矩阵。每个像素点默认初始化为0(黑色) tras = [1/timesX 0 0; 0 1/timesY 0; 0 0 1]; % 缩放的变换矩阵 for i = 1 : timesX * R for j = 1 : timesY * C temp = [i; j; 1]; temp = tras * temp; % 矩阵乘法 x = uint8(temp(1, 1)); y = uint8(temp(2, 1)); % 变换后的位置判断是否越界 if (x <= R) & (y <= C) & (x >= 1) & (y >= 1) res(i, j) = init(x, y); end end end; imshow(uint8(res)); % 显示图像

4. 图像镜像(水平)

init = imread('Fig3.tif');
[R, C] = size(init);
res = zeros(R, C);for i = 1 : R for j = 1 : C x = i; y = C - j + 1; res(x, y) = init(i, j); end end imshow(uint8(res));

转载于:https://www.cnblogs.com/Ph-one/p/11566673.html

Matlab 图像平移、旋转、缩放、镜像相关推荐

  1. 2020.6.21P72_OpenCV_几何变换_图像平移_缩放_旋转

    描述: //2020.6.21P72_OpenCV_图像平移_缩放_旋转 •完成一张图像的几何变换需要两个独立的算法.首先需要一个算法实现空间坐标变换,用它描述每个像素如何从初始位置移动到终止位置:其 ...

  2. matlab 图像上下翻,Matlab图像九宫格基本操作(翻转,镜像等)+位图操作

    Matlab图像九宫格基本操作(翻转,镜像等)+位图操作 Matlab图像九宫格基本操作(翻转,镜像等)+位图操作 这次blog提到的操作对于matlab来说都很基础,而且对于有编程和计算机基础的人来 ...

  3. Unity 触屏手势控制Camera平移旋转缩放

    Unity 触屏手势控制Camera平移旋转缩放 实现思路 单点触屏,位移增量控制相机平移: 两点触屏,两点位移控制相机前后移动(缩放):两点中一点不位移控制相机绕点旋转: 实现需要的API Touc ...

  4. MATLAB图像平移、旋转、缩放、裁剪

    版本: MATLAB R2019a 目录 (一)图像平移 (二)图像旋转 1.图像尺寸不变 2.图像信息不丢失 (三)图像缩放 (四)图像裁剪 (一)图像平移 使用MATLAB自带函数 transla ...

  5. opencv 图像平移、缩放、旋转、翻转 图像仿射变换

    图像几何变换 图像几何变换从原理上看主要包括两种:基于2x3矩阵的仿射变换(平移.缩放.旋转.翻转).基于3x3矩阵的透视变换. 图像平移 opencv实现图像平移 实现图像平移,我们需要定义下面这样 ...

  6. 三维空间中的几何变换-平移旋转缩放

    前言 前段时间由于项目需要,深入学习了下图形几何变换,主要是绕任意轴旋转部分(其他的已有一定基础),现记录学习笔记. 文章内容部分引用并参考了下面的博客: http://netclass.csu.ed ...

  7. Unity矩阵平移旋转缩放Matrix4x4

    Unity中的矩阵(Matrix4x4) 最近在研究帧同步定点数物理系统中需要自定义定点数矩阵,所以在这里分享下基础的矩阵案例旋转.平移.缩放.(注意这里本文中的transform组件式基于unity ...

  8. MATLAB基础图形处理实现图形通道转换灰度化旋转缩放镜像拼接

    %practice,还是以彩色荷花图片lotus为例 %读入图片数据 Image1=imread('carphone.jpg');%图片1是原图,汽车与手机JPG格式的原图 %红绿通道互换 Image ...

  9. 三维坐标 偏转_三维坐标变换原理-平移, 旋转, 缩放

    给定一个二维点(x, y),那么形如(kx, ky, k)的所有三元组就都是等价的,它们就是这个点的齐次坐标(homogeneous).齐次坐标就是将一个原本是n维的向量用一个n+1维向量来表示,是指 ...

  10. 三维坐标要建一个4*4的矩阵?平移 旋转 缩放

    移植不知道三维物体的旋转平移缩放和矩阵的关系.找到这篇文章借鉴一下. 转自:https://blog.csdn.net/ALLENJIAO/article/details/80348362 怎么平移一 ...

最新文章

  1. 数据结构与算法系列 目录
  2. leetcode-无重复字符的最长子串
  3. Day1 了解web前端
  4. matlab getsplitpic,MATLAB_9-模式识别笔记
  5. 7-8 判断三角形类型 (20 分)
  6. sql server代理无法启动_谁说前端不需要懂Nginx反向代理与负载均衡
  7. 解决nginx部署后css、js、图片等样式不加载的问题
  8. Tomcat创建HTTPS访问,java访问https
  9. YOLOv4一作提出Transformer新架构:DPT!替代卷积网络做密集预测
  10. 爱忘事、不自律,有了这5款时间管理工具,堪比“罗志祥”!
  11. Struts1框架轻易入门,经典示例
  12. C语言试题八十六之兔子生兔子问题
  13. 加那些YY主播的微信为何要花钱?
  14. 怎样能让大腿变细方法 揭秘如何瘦大腿和小腿
  15. 【MySQL】数据类型
  16. Spring面试题(一)
  17. dz后台html,建立discuz后台管理页面的模板
  18. 思岚RPLIDAR A2激光雷达使用及问题解决
  19. C# 科学计数法的转换
  20. python爬虫爬取歌曲_python爬虫实战:爬取全站小说排行榜

热门文章

  1. 微信小程序 | 微信公众平台SpringBoot开发实例 │ 开发一个简易的个人微信公众号
  2. Android颜色透明度(不透明度)计算
  3. Mac OS小技巧:MAC电脑如何设置一键切换输入法
  4. 【Python】利用tkinter开发AI对战井字棋游戏
  5. 十二个“一”---十二位胜似亲人的悲情向团体详解
  6. 变频器的工作原理与结构介绍
  7. 自然语言处理(NLP)和语音识别(ASR)的区别
  8. 深度学习(Deep Learning)综述及其延伸,入门必看!
  9. BUUCTF REAL
  10. Typescript的优缺点和面试题