Matlab 图像平移、旋转、缩放、镜像
来源:互联网 发布:什么下载软件 编辑:程序博客网 时间:2024/05/14 02:18
Matlab 图像平移、旋转、缩放、镜像
今天学习了用Matlab实现对图像的基本操作。在Matlab中,图像是按照二维矩阵的形式表示的。所以对图像的操作就是对矩阵的操作。
对图像进行缩放、平移、旋转,都可以转化为矩阵的运算。
关于变换矩阵的构造,请参考:
《 [gym 101047C Robotics Competition] 矩阵快速幂求解点旋转平移N次之后的位置》
参考原图:
1. 图像平移
init = imread('Fig3.tif'); % 读取图像[R, C] = size(init); % 获取图像大小res = zeros(R, C); % 构造结果矩阵。每个像素点默认初始化为0(黑色)delX = 50; % 平移量XdelY = 50; % 平移量Ytras = [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 endend;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 endend;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 endend;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); endendimshow(uint8(res));
1 0
- Matlab 图像平移、旋转、缩放、镜像
- matlab实现图像的平移、旋转、缩放
- matlab实现图像的平移、旋转、缩放
- matlab 图像几何变换 平移、旋转、缩放
- Matlab 实现图像的平移,旋转,缩放
- matlab 图像几何变换 平移、旋转、缩放
- 图像几何运算 平移,镜像,缩放
- OpenCV2:图像的几何变换,平移、镜像、缩放、旋转(1)
- OpenCV2:图像的几何变换,平移、镜像、缩放、旋转(2)
- 【数字图像处理】六.MFC空间几何变换之图像平移、镜像、旋转、缩放详解
- OpenCV2:图像的几何变换,平移、镜像、缩放、旋转(1)
- OpenCV2:图像的几何变换,平移、镜像、缩放、旋转(2)
- OpenCV2:图像的几何变换,平移、镜像、缩放、旋转(1)
- OpenCV2:图像的几何变换,平移、镜像、缩放、旋转(2)
- OpenCV2:图像的几何变换,平移、镜像、缩放、旋转(1)
- 图像基本变换--- 平移、旋转、缩放、仿射变换、镜像
- OpenCV2:图像的几何变换,平移、镜像、缩放、旋转(2)
- 图像平移、缩放、旋转、插值 Matlab实现
- 封装好的Android 微信支付
- 格式化输入与输出
- osx下信号量和锁无法使用的替代品
- 如何通俗理解递归
- 汇编从0开始(7)
- Matlab 图像平移、旋转、缩放、镜像
- 众觅,让支付宝『到位』全国到位!共享经济下人人互助
- C#图片文字识别
- IOS用CGContextRef画各种图形(文字、圆、直线、弧线、矩形、扇形、椭圆、三角形、圆角矩形、贝塞尔曲线、图片)
- 【C#小工具】百度网盘不限速下载工具。源码下载
- 自定义Dialog
- Session().getCriteriaBuilder()
- 如何将arm log从usb切换到uart出来(展讯)
- 最清晰的Android多屏幕适配方案