MATLAB:图像水平、垂直、水平垂直镜像、转置、旋转变换(flipdim、mirror、transp、imrotate函数)
1、原图像经水平、垂直、水平垂直镜像设置通过mirror函数实现:
close all; %关闭当前所有图形窗口,清空工作空间变量,清除工作空间所有变量
clear all;
clc;
I=imread('cameraman.tif'); %输入图像
J1=mirror(I,1);%原图像的水平镜像
J2=mirror(I,2);%原图像的垂直镜像
J3=mirror(I,3);%原图像的水平垂直镜像
set(0,'defaultFigurePosition',[100,100,1000,500]);%修改图形图像位置的默认设置
set(0,'defaultFigureColor',[1 1 1])%修改图形背景颜色的设置
figure,
subplot(1,2,1),imshow(I) ;%绘制原图像
subplot(1,2,2),imshow(J1);%绘制水平镜像后图像
figure,
subplot(1,2,1),imshow(J2);%绘制垂直镜像后图像
subplot(1,2,2),imshow(J3);%绘制水平垂直镜像后图像
效果图如下:
以上的mirror函数针对的是低级版本的MATLAB,目前高级版本的MATLAB已经不支持mirror函数了,如果你的MATLAB用了mirror函数后出现各种报错,说明你的版本太高级了。需要用flipdim函数,参数设置跟mirror函数一样。示例代码如下:
close all; %关闭当前所有图形窗口,清空工作空间变量,清除工作空间所有变量
clear all;
clc;
I=imread('cameraman.tif'); %输入图像
J1=flipdim(I,1);%原图像的水平镜像
J2=flipdim(I,2);%原图像的垂直镜像
J3=flipdim(I,3);%原图像的水平垂直镜像
set(0,'defaultFigurePosition',[100,100,1000,500]);%修改图形图像位置的默认设置
set(0,'defaultFigureColor',[1 1 1])%修改图形背景颜色的设置
figure,
subplot(1,2,1),imshow(I) ;%绘制原图像
subplot(1,2,2),imshow(J1);%绘制水平镜像后图像
figure,
subplot(1,2,1),imshow(J2);%绘制垂直镜像后图像
subplot(1,2,2),imshow(J3);%绘制水平垂直镜像后图像
2、图像转置用了transp函数,实现代码如下:
close all; %关闭当前所有图形窗口,清空工作空间变量,清除工作空间所有变量
clear all;
clc;
I=imread('trees.tif'); %输入图像
J1=transp(I); %对原图像的转置
I1=imread('lenna.bmp'); %输入图像
J2=transp(I1); %对原图像的转置
set(0,'defaultFigurePosition',[100,100,1000,500]);%修改图形图像位置的默认设置
set(0,'defaultFigureColor',[1 1 1])%修改图形背景颜色的设置
figure,
subplot(1,2,1),imshow(I);%绘制移动后图像
subplot(1,2,2),imshow(J1);%绘制移动后图像
figure,
subplot(1,2,1),imshow(I1)
subplot(1,2,2),imshow(J2)
效果图如下:
3、图像旋转用了imrotate函数,实现过程如下:
close all; %关闭当前所有图形窗口,清空工作空间变量,清除工作空间所有变量
clear all;
clc;
A=imread('office_2.jpg'); %读入图像
J1=imrotate(A, 30); %设置旋转角度,实现旋转并显示
J2=imrotate(A, -30);
J3=imrotate(A,30,'bicubic','crop'); %设置输出图像大小,实现旋转图像并显示
J4=imrotate(A,30, 'bicubic','loose');
set(0,'defaultFigurePosition',[100,100,1000,500]);%修改图形图像位置的默认设置
set(0,'defaultFigureColor',[1 1 1])%修改图形背景颜色的设置
figure(1) %显示旋转处理结果
subplot(121),imshow(J1);
subplot(122),imshow(J2);
figure(2)
subplot(121),imshow(J3);
subplot(122),imshow(J4);
效果图如下:
MATLAB:图像水平、垂直、水平垂直镜像、转置、旋转变换(flipdim、mirror、transp、imrotate函数)的更多相关文章
- OpenCV 实现图片的水平投影与垂直投影,并进行行分割
对于印刷体图片来说,进行水平投影和垂直投影可以很快的进行分割,本文就在OpenCV中如何进行水平投影和垂直投影通过代码进行说明. 水平投影:二维图像在y轴上的投影 垂直投影:二维图像在x轴上的投影 由 ...
- * CSS 视觉格式化(基本框、包含块、盒模型、水平格式化、垂直格式化、行布局、em框、内容区、行间距、行内框、行框)
前言 CSS视觉格式化这个词可能比较陌生,但说起盒模型可能就恍然大悟了.实际上,盒模型只是CSS视觉格式化的一部分.视觉格式化分为块级和行内两种处理方式.理解视觉格式化,可以确定得到的效果是应该显示的 ...
- 理解水平扩展和垂直扩展 (转载 http://yunjiechao-163-com.iteye.com/blog/2126981)
当一个开发人员提升计算机系统负荷时,通常会考虑两种方式垂直扩展和水平扩展.选用哪种策略主要依赖于要解决的问题 以及系统资源的限制.在这篇文章中我们将讲述这两种策略并讨论每种策越的优缺点.如果你已经 ...
- 关于iframe的滚动条,如何去掉水平滚动条或垂直滚动条
关于iframe的滚动条,如何去掉水平滚动条或垂直滚动条 关于<iframe>可以通过设置属性scrolling="no" 去掉iframe的两个滚动条. 如何只去掉水 ...
- DIV 垂直 垂直水平 居中
DIV 垂直 居中 让div居中对齐 使用margin-left:auto;margin-right:auto; 可以让你的div居中对齐. .style{margin-left:auto;marg ...
- mysql水平拆分与垂直拆分的详细介绍(转载http://www.cnblogs.com/nixi8/p/4524082.html)
垂直 垂直拆分是指数据表列的拆分,把一张列比较多的表拆分为多张表 通常我们按以下原则进行垂直拆分: 把不常用的字段单独放在一张表; 把text,blob等大字段拆分出来放在附表中; 经常组合查询的 ...
- Web 站点的水平扩展和垂直扩展 (译文)
当一个开发人员提升计算机系统负荷时,通常会考虑两种方式垂直扩展和水平扩展.选 用哪种策略主要依赖于要解决的问题以及系统资源的限制.在这篇文章中我们将讲述这两种策略并讨论每种策越的优缺点.如果你已经有一 ...
- 数据库水平拆分和垂直拆分区别(以mysql为例)
数据库水平拆分和垂直拆分区别(以mysql为例) 数据库水平拆分和垂直拆分区别(以mysql为例) 案例: 简单购物系统暂设涉及如下表: 1.产品表(数据量10w,稳定) 2.订单表(数据 ...
- mysql的水平拆分和垂直拆分
转:http://www.cnblogs.com/sns007/p/5790838.html 1,水平分割: 例:QQ的登录表.假设QQ的用户有100亿,如果只有一张表,每个用户登录的时候数据库都要从 ...
随机推荐
- Linux课题实践三——程序破解
2.3 程序破解 20135318 刘浩晨 1. 掌握NOP.JNE.JE.JMP.CMP汇编指令的机器码 NOP:NOP指令即“空指令”.执行到NOP指令时,CPU什么也不做,仅仅当做一 ...
- 学习github心得
Git 是 Linux 的创始人 Linus Torvalds 开发的开源和免费的版本管理系统,利用底层文件系统原理进行版本控制的工具.Git是目前为止最著名运用最好最受欢迎的分布式的配置管理工具. ...
- 第三个spring冲刺第1天
在第二阶段,我们的要实现的基本功能都已经基本是实现了,现在在第三阶段,我们会完善算法的改进.容错问题的兼容还有附加的其他功能,例如计时等
- 菜鸟教程--AJAX
一.简介1.AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术.2.AJAX = 异步 JavaScript 和 XML.3.通过在后台与服务器进行少量数据交换,AJAX 可以使网 ...
- Fortify Scan - Static Code Analyzer
https://software.microfocus.com/en-us/products/application-security-testing/overview https://softwar ...
- 8 commands to check cpu information on Linux
https://www.binarytides.com/linux-cpu-information/
- [转帖]关于网络编程中MTU、TCP、UDP优化配置的一些总结
关于网络编程中MTU.TCP.UDP优化配置的一些总结 https://www.cnblogs.com/maowang1991/archive/2013/04/15/3022955.html 感谢原作 ...
- .NET Framework 版本和依赖关系[微软官方文档]
.NET Framework 版本和依赖关系 微软官方文档: https://docs.microsoft.com/zh-cn/dotnet/framework/migration-guide/ver ...
- ubuntu查看本地ip
1.下载net-tools sudo apt-get install net-tools 2.终端输入命令 ifconfig
- js this小记
在JavaScript中,this 对象是在函数被调用时动态定义的. JS中有三种方法来设置this对象: someThing.someFunction(arg1, arg2, argN) someF ...