Matlab算法实现图像旋转(无函数调用)
2020-06-06 04:44
309 查看
Matlab算法实现图像旋转(无函数调用)
%实现图像的旋转 %图像旋转为顺时针 %采用行插值 clc;clear; a=imread('girl.jpg'); d=a; a=a(:,:,1); [M,N]=size(a); sita=input('请输入sita(弧度):','s'); sita=str2num(sita); %对图像进行旋转 for i=1:M for j=1:N X=(i-M/2)*cos(sita)+(j-N/2)*sin(sita)+min(M,N); Y=-(i-M/2)*sin(sita)+(j-N/2)*cos(sita)+min(M,N); X=round(X); %因为经过旋转后的坐标不是整数,需要取整 Y=round(Y); b(X,Y)=a(i,j); %将a所对应位置的灰度赋值给变换后的吧b end end %对旋转后的图像进行行插值 %缺点是图像边缘会有锯齿 [mm,nn]=size(b); m=1; while m<=mm c=find(b(m,:)); %找到b矩阵在m行时,非零元素的位置 if isempty(c)~=1 %判断c向量是否为空向量,当不为空时,才进行循环 for i=c(1):c(length(c)) % 在b矩阵m行,从非零元素的最小坐标到最大坐标之间进行插值 if (b(m,i)==0) b(m,i)=b(m,i-1); end end end m=m+1; end imshow(a) title('原图像'); figure imshow (b) title('变换后图像'); figure imshow(d);
小白练手,敬请斧正。
相关文章推荐
- opencv 旋转图像函数实现 等同于matlab里的rotate() (注:旋转后图像变大,超出部分填为黑色)
- 哈工大深研院数字图像处理第一次大作业:不调用Matlab函数实现图像增强
- 哈工大深研院数字图像处理第一次大作业:不调用Matlab现有库函数实现图像增强
- 转载:数字图像去噪典型算法及matlab实现 (http://gaochaojs.blog.51cto.com/812546/243961)
- (实验二) --- 图像旋转变换---matlab实现
- 数字图像去噪典型算法及matlab实现
- 数字图像去噪典型算法及matlab实现
- Linux下c++调用自己编写的matlab函数:通过mcc动态链接库.so实现
- 图像平移、缩放、旋转、插值 Matlab实现
- SSE图像算法优化系列十七:多个图像处理中常用函数的SSE实现。
- 《Computer Vision:Algorithms and Applications》学习笔记(一)——图像旋转算法与实现
- MATLAB图像处理与计算机视觉(3):实现Carsten Steger 的曲线检测算法(1)
- matlab中简单的图像旋转算法
- matlab暗通道图像去雾算法实现
- 数字图像去噪典型算法及matlab实现
- 翻转子串 假定我们都知道非常高效的算法来检查一个单词是否为其他字符串的子串。请将这个算法编写成一个函数,给定两个字符串s1和s2,请编写代码检查s2是否为s1旋转而成,要求只能调用一次检查子串的函数。
- Python3实现的旋转矩阵图像算法示例
- 数字图像去噪典型算法及matlab实现 推荐
- 数字图像去噪典型算法及matlab实现
- IIR滤波器设计(调用MATLAB IIR函数来实现)