matlab图像旋转

合集下载

MATLAB计算图像旋转角度

MATLAB计算图像旋转角度

MATLAB计算图像旋转⾓度⽐如有图像1,将其旋转n度得到图像2,问如何⽐较两张图像得到旋转的度数n。

算法思路参考logpolar变换:1.从图像中⼼位置向四周引出射线。

2.计算每根射线所打到图像上的像素累计和,得到极坐标灰度曲线。

3.⽐较两张图的灰度曲线,得到最相关的偏移位置,即为两张图像的旋转⾓度。

原图:旋转了10°的图像:灰度曲线:代码如下:main.m1 clear all;2 close all;45 img1 = imread('lena.jpg');6 img2 = imrotate(img1,15);78 imshow(img1)9 figure;10 imshow(img2)1112 re1 = getCurve(img1);13 re2 = getCurve(img2);1415 figure;16 plot(re1);17 hold on;18 plot(re2);1920 su=zeros(length(re1),1);21for i=1:length(re1)22 tmp = circshift(re2,i);23 su(i) =sum(tmp.*re1);24 end2526 [ma,ind] = max(su);27 ind/10getCurve.m1 function re = getCurve(img)23 [m,n]=size(img);45 oy=m/2;6 ox=n/2;78 %求中⼼点到图像四个⾓的距离9 up_left=sqrt((oy-0)^2+(ox-0)^2);10 up_right=sqrt((oy-0)^2+(ox-n)^2);11 down_left=sqrt((oy-m)^2+(ox-0)^2);12 down_right=sqrt((oy-m)^2+(ox-n)^2);1314 num=3600;15 %求中⼼点距离四⾓距离的最⼤值,作为变换后图像的⾼。

MATLAB技术图像旋转实例

MATLAB技术图像旋转实例

MATLAB技术图像旋转实例导言图像处理是计算机科学领域中的一个重要分支,而旋转是图像处理中经常遇到的一个操作。

在本文中,我们将使用MATLAB来演示如何使用该软件进行图像旋转。

一、图像旋转的基本概念在图像处理中,旋转是指将图像绕着一个中心点进行旋转变换,使得图像在平面上发生方向的变化。

旋转操作通常可以通过应用旋转矩阵来实现。

旋转矩阵包含了旋转角度和旋转中心等信息,通过将旋转矩阵应用于图像,我们可以得到旋转后的图像。

二、MATLAB中的图像旋转函数MATLAB提供了多种图像旋转函数,其中最常用的是imrotate函数。

该函数可以实现对图像进行任意角度的旋转操作。

使用imrotate函数的基本用法如下:rotated_image = imrotate(original_image, angle);其中,original_image是待旋转的图像,angle是旋转的角度。

通过该函数,我们可以得到旋转后的图像rotated_image。

三、MATLAB实例:图像旋转操作为了更好地理解MATLAB中的图像旋转函数的使用,我们将通过一个实际的例子来演示。

假设我们有一张名为"lena.jpg"的图像,我们希望将该图像按顺时针方向旋转45度。

首先,我们需要在MATLAB中加载该图像。

可以使用imread函数实现图片的加载:image = imread('lena.jpg');然后,我们使用imrotate函数对图像进行旋转操作:rotated_image = imrotate(image, 45);最后,我们使用imshow函数来显示旋转后的图像:imshow(rotated_image);通过运行上述代码,我们可以在MATLAB的图像窗口中看到旋转后的图像。

如图1所示,旋转后的lena图像呈现出45度旋转的效果。

图1:旋转后的lena图像四、其他图像旋转技术除了imrotate函数,MATLAB还提供了其他的图像旋转技术,如基于仿射变换的图像旋转、基于坐标变换的图像旋转等。

图像旋转代码MATLAB课件

图像旋转代码MATLAB课件
根据下面的方法计算 (x', y') 点处的灰度值。设 (x', y')
点的4个最近邻像素为A、B、C、D,其坐标分别为 〔i,j〕,〔i+1,j〕,〔i,j+1〕,〔i+1,j+1〕。它 们的灰度值分别为g(A),g(B),g(C),g(D)。
三、插值方法(4)
❖ ①计算E和F的灰度值g(E),g(F)
图像旋转
❖ 图像旋转的简单介绍 ❖ 图像旋转的几何原理 ❖ 插值方法 ❖ 图像旋转仿真结果 ❖ 不同插值方法的评价
一、图像旋转介绍
❖ 数字图像处理是计算机图像处理软件的一项核 心技术。在数字图像处理过程中, 经常要用到 旋转, 例如: ①图像扫描输入时常发生位置倾 斜, 对其进展倾斜校正需要对图像进展旋转; ②在多幅图像比较和模式识别中, 要对图像进 展旋转操作; ③在图像的剪裁和拼接前, 也要 对图像作旋转处理……。因此图像的旋转是数 字图像处理的一个非常重要的环节,目前已广 泛地应用于军事、航空、生物医学等方面。
二、图像旋转的几何原理(3)
x1 cos sin 0 x0
y1
sin
cos
0
*
y0
(2.1)
1 0
0 1 1
x0 cos
y0
sin
1 0
sin cos
0
0 x1
0
*
y1
(2.2)
1 1
二、图像旋转的几何原理(4)
❖ 从图1可以看出, 旋转是围绕坐标原点进展的, 即在最常见的笛卡尔坐标系内完成旋转操作。
g(x', y') ( y' j)[g(F ) g(E)] g(E) ( j 1 y')g(E) ( y' j)g(F )(3.3)

matlab实现图像的放大及旋转

matlab实现图像的放大及旋转

MATLAB是一个包含大量计算算法的集合。

其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。

函数中所使用的算法都是科研和工程计算中的最新研究成果,而前经过了各种优化和容错处理。

在通常情况下,可以用它来代替底层编程语言,如C和C 。

在计算要求相同的情况下,使用MATLAB的编程工作量会大大减少。

MATLAB的这些函数集包括从最简单最基本的函数到诸如距阵,特征向量、快速傅立叶变换的复杂函数。

函数所能解决的问题其大致包括矩阵运算和线性方程组的求解、微分方程及偏微分方程的组的求解、符号运算、傅立叶变换和数据的统计分析、工程中的优化问题、稀疏矩阵运算、复数的各种运算、三角函数和其他初等数学运算、多维数组操作以及建模动态仿真等。

(4)出色的图形处理功能MATLAB自产生之日起就具有方便的数据可视化功能,以将向量和距阵用图形表现出来,并且可以对图形进行标注和打印。

高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。

可用于科学计算和工程绘图。

新版本的MATLAB 对整个图形处理功能作了很大的改进和完善,使他不仅在一般数据可视化软件都具有的功能(例如二维曲线和三维曲面的绘制和处理等)方面更加完善,而且对于一些其他软件所没有的功能(例如图形的光照处理、色度处理以及四维数据的表现等),MATLAB 同样表现了出色的处理能力。

同时对一些特殊的可视化要求,例如图形对话等,MATLAB也有相应的功能函数,保证了用户不同层次的要求。

另外新版本的MATLAB还着重在图形用户界面(GUI)的制作上作了很大的改善,对这方面有特殊要求的用户也可以得到满足。

(5)应用广泛的模块集合工具箱MATLAB对许多专门的领域都开发了功能强大的模块集和工具箱。

一般来说,他们都是由特定领域的专家开发的,用户可以直接使用工具箱学习、应用和评估不同的方法而不需要自己编写代码。

目前,MATLAB已经把工具箱延伸到了科学研究和工程应用的诸多领域,诸如数据采集、数据库接口、概率统计、样条拟合、优化算法、偏微分方程求解、神经网络、小波分析、信号处理、图像处理、系统辨识、控制系统设计、LMI控制、鲁棒控制、模型预测、模糊逻辑、金融分析、地图工具、非线性控制设计、实时快速原型及半物理仿真、嵌入式系统开发、定点仿真、DSP 与通讯、电力系统仿真等,都在工具箱(Toolbox)家族中有了自己的一席之地。

Matlab在图像处理中的应用与技巧

Matlab在图像处理中的应用与技巧

Matlab在图像处理中的应用与技巧引言图像处理是计算机科学领域中的一个重要分支,通过对图像进行处理和分析,可以获得许多有价值的信息。

而MATLAB作为一个强大的计算软件,具备了丰富的图像处理函数和工具箱,可以帮助我们实现各种复杂的图像处理任务。

本文将介绍MATLAB在图像处理中的应用与技巧,帮助读者更好地利用MATLAB进行图像处理。

一、图像的读取与显示在MATLAB中,可以使用imread函数读取图像文件。

例如,要读取一张名为"image.jpg"的图像文件,可以使用以下代码:```MATLABimage = imread('image.jpg');```而imshow函数则可以将图像显示在窗口中,例如:```MATLABimshow(image);```通过这两个简单的函数,我们可以很方便地读取和显示图像。

二、图像的基本处理1.图像的缩放在图像处理过程中,经常需要将图像进行缩放。

MATLAB提供了imresize函数来实现图像的缩放,例如:```MATLABnew_image = imresize(image, [height, width]);```其中,height和width分别表示缩放后图像的高度和宽度。

2.图像的灰度化有时候我们只关注图像的亮度信息,而忽略了彩色信息。

此时可以将图像转换为灰度图像,MATLAB提供了rgb2gray函数来实现图像的灰度化,例如:```MATLABgray_image = rgb2gray(image);```gray_image即为灰度图像。

3.图像的旋转有时候我们需要将图像进行旋转,MATLAB提供了imrotate函数来实现图像的旋转,例如:```MATLABrotated_image = imrotate(image, angle);```其中,angle表示旋转的角度。

三、图像的增强处理1.图像的边缘检测在许多图像处理任务中,边缘是重要的特征之一。

用MATLAB做的图像基本处理

用MATLAB做的图像基本处理

用MATLAB做的图像基本处理MATLAB是一种用于科学计算、数据分析和可视化的编程语言和开发环境。

它在许多领域中被广泛地使用,包括工程、物理学、计算机科学等。

通过MATLAB,可以方便地对图像进行处理和分析。

本文介绍了如何使用MATLAB对图像进行基本处理。

这些处理包括图像的读取、显示、缩放、裁剪、旋转、翻转、颜色转换、灰度化、二值化、滤波等。

图像的读取和显示在MATLAB中,可以使用imread函数读取图像。

例如,下面的代码可以读取一张名为test.jpg的图像:I = imread('test.jpg');读取图像后,可以使用imshow函数显示图像。

例如,下面的代码可以显示上面读取的图像:imshow(I);图像的缩放和裁剪使用MATLAB可以方便地对图像进行缩放和裁剪。

缩放可以使用imresize函数,裁剪可以使用imcrop函数。

例如,下面的代码可以将图像I缩放为原来的一半并显示缩放后的图像:I2 = imresize(I, 0.5);imshow(I2);下面的代码可以将图像I的左上角截取出来并显示:J = imcrop(I, [11 size(I,2)/2 size(I,1)/2]);imshow(J);图像的旋转和翻转使用MATLAB可以方便地对图像进行旋转和翻转。

旋转可以使用imrotate函数,翻转可以使用flip函数。

例如,下面的代码可以将图像I逆时针旋转45度并显示旋转后的图像:I3 = imrotate(I, -45);imshow(I3);下面的代码可以将图像I水平翻转并显示翻转后的图像:I4 = flip(I, 2);imshow(I4);图像的颜色转换和灰度化使用MATLAB可以方便地对图像进行颜色转换和灰度化。

颜色转换可以使用imresize函数,灰度化可以使用rgb2gray函数。

例如,下面的代码可以将彩色图像I转换为灰度图像并显示灰度图像:I5 = rgb2gray(I);imshow(I5);图像的二值化和滤波使用MATLAB可以方便地对图像进行二值化和滤波。

用matlab对图片进行旋转(最近邻域法)

用matlab对图片进行旋转(最近邻域法)

%======================用matlab对图片进行旋转(最近邻域法)clear; %此题是用最近邻域法实现图像旋转im1=imread('b.jpg'); %读取打开文件b.jpg[m,n,p]=size(im1);% 将图像旋转30度a=0.5; %a=sin30=0.5b=0.866; %b=cos30=0.866row=n*a+m*b;col=n*b+m*a;for i=1:row %先把图象填充成全黑for j=1:colim2(i,j,:)=uint8(0);endendfor i=1:m %把原图象像素点旋转后变为新图象点for j=1:nxx=round(abs((i-m/2)*b-(j-n/2)*a+row/2));yy=round(abs((i-m/2)*a+(j-n/2)*b+col/2));for k=1:3im2(xx,yy,k)=im1(i,j,k);endendendtemp1=uint8(0);temp2=uint8(0);temp3=uint8(0);for i=1:row %把画面上的空点按照最近邻插值法填充temp1=uint8(0);temp2=uint8(0);temp3=uint8(0);for j=1:col %找到最右的图象边界点if (im2(i,j,:)==uint8(0))elsekk=j;endendfor j=1:kkif (im2(i,j,:)==uint8(0))im2(i,j,1)=temp1;im2(i,j,2)=temp2;im2(i,j,3)=temp3;elsetemp1=im2(i,j,1);temp2=im2(i,j,2);temp3=im2(i,j,3);endendendimshow(im1);figure;imwrite(im1,'5.jpg'); %保存原图像imshow(im2);imwrite(im2,'6.jpg'); %保存旋转后图像原图:旋转30度后:备注:m和n代表在一个图像窗口中显示m行n列个图像,后面的p代表现在选定第p个图像区域,即在第p个区域作图。

用MATLAB编程实现数字图像旋转

用MATLAB编程实现数字图像旋转

用MATLAB编程实现数字图像旋转摘要:文章论述了用Matlab编程实现数字图像旋转的基本方法,从计算机几何坐标中的图像旋转矩阵表示着手,给出了图像旋转变换的推导过程,用简单综合插值方法,基本解决了数字图像旋转后出现的空洞问题,并通过Matlab编程工具进行实验验证。

关键词:数字图像旋转;移动变换;旋转矩阵变换;简单综合插值。

数字图像处理是指将图像信号转换成数字信号并利用计算机对其进行处理的过程。

目前,数字图像处理的信息大多是二维信息。

由于数据量大,因此对计算机的计算速度、存储容量等要求较高。

随着微型计算机性能的提高,原来以大型机、小型机为主机的图像处理系统演变为以微机为主机的结构,其应用也迅速普及,当前图像处理技术在工业自动化、工业检测、遥感探测、军事、航空、生物医学等各个方面都发挥着十分重要的作用。

图像旋转是一种常用的数字图像处理技术,传统的图像旋转都是在二维空间中进行的,由于旋转后图像像素点坐标不再是整数,故旋转后必须对像素点灰度进行一维插值运算或二维插值运算,尤其是当对旋转后的图像质量要求较高时,需要采用高阶插值运算。

文章从通用的图像旋转矩阵着手,给出了图像旋转变及换简单综合插值的推导过程,并用Matlab编程工具进行实验验证图像旋转结果。

1Matlab简介MATLAB是矩阵实验室(Matrix Laboratory)之意。

除具备卓越的数值计算能力外,它还提供了专业水平的符号计算,可视化建模仿真和实时控制等功能。

MATLAB的基本数据单位是矩阵,它的指令表达式与数学,工程中常用的形式十分相似,故用MATLAB来解算问题要比用C、C#等语言来解算相同的事情简捷得多。

2图像旋转矩阵一般图像的旋转是以图像的中心为原点,将图像上所有像素都旋转一个相同角度。

图像的旋转变换后,图像的大小会改变。

在图像旋转变换中既可以把转出显示区域的图像截去,也可以扩大范围(即是移动图像),以显示所有的图像。

设点旋转角后的对应点为,r是点到原点(0,0)的距离,在旋转过程中,r保持不变。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

=摘要=图像处理老师的课很"抽像",很会"跳"....刚讲了一点"RBG转灰度图",就马上进军图像的几何变换了,同时也带来了一个新的实验(作業):<图像的旋转>.要求:旋转弧度: 0<radian<pi/2 (顺时针旋转).对于我这个"好学生"来说...当然掩盖不了心中的好奇心----图像旋转是怎么实现的?于是经过一定的探索(主要是matlab的用法)...终于实现了这个"旋转":)本文就是关于这个"探索"过程的一点文字记录啦.=预览一下=matlab有一个图像处理工具(IPT),里面已经有一个图像旋转算法的实现了...函数名:imrotate(源图像,旋转角度)...这里将给出:源图像,IPT版本处理过的旋转后图像,我自己的算法处理过的旋转图像:==原图像====IPT(imrotate)实现旋转====我自己的旋转函数結果====说明==上面的旋转对于玩过图像处理PS的人来说是不是太简单了?在PS里面或者其他图像处理工具里面对于图像的旋转是"极"简单的...一点就是了:)上面的"旋转"在生活中经常看到...你把一张生活照旋转一下就感觉到了哈.=什么是图像的旋转=图像的旋转是图像几何变换的一种...看到上面预览的图就能知道...旋转前后的图像的像素的RGB都是没有改变的,改变的只是每一个像素的所在位置....这个就是旋转的本质:把原图像像素从原点(x,y)放到目标位置点上(x',y')..这个(x,y)到(x',y')的转换是经过旋转计算而来的...那么这个图像处理就是旋转处理(几何变换).再看看上面的图,还真的发现只是图像的像素点的位置改变了,图像本身的彩色信息并没有改动什么.=怎么SHOW旋转后的图像==图像是怎么显示的=图像的显示都是基于矩阵像素来显示的...上面每一张图像的图像信息其实是一个RGB矩阵来的.所以必须把旋转后的图像放到一个像素矩阵中才能显示这个旋转后的图像.设一张图像的大小是col*row的.那么以这个图像对角线为直径的圆就能够包含这个图像经旋转后的图像..在这里因为图像的显示是矩阵式的,所以这里以图像对角线为边长构造一个正方形来保存旋转后的图像.从上面旋转后的图像可以看出效果啦,旋转后的图像就包含在这个正方形的矩阵中.=计算旋转图像所需要的正方形=因为图像是col*row的,所以这个正方形的边长new_img_size = (col^2+row^2)^0.5;这样使用matlab就可以生成一个存储最终图像的rgb矩阵了:[cpp]view plaincopy1.img_rotated = uint8(zeros(new_img_size , new_img_size , 3); //%一个像素由RGB三个分量表现.=怎么旋转?=现在来到正题了,上面已经把旋转的原理给讲清楚了...本质就是找到原点(x,y)的新位置(x',y'),然后把原点的像素复制到目标点上就行了...上面也提到了一点:旧坐标到新坐的变的是"旋转"而来的...下面来体现一下旋转的原因:设一个原点P,P的坐标是:(x,y),这里的x是列分量,y是行分量.那么P点离图像左上角的距离是:r=(x^2+y^2)^0.5; 同时p到(1,1)点的连线与列方向有一个夹角:a此时r,x,y的关系可以进一步表示成:[cpp]view plaincopy1.x = r*cos(a);2.y = r*sin(a);到了这里可以知道(x,y)本身与"旋转"角度有一定的关系了,....下面就将p点绕(1,1)这点顺时针旋转b角度...得到p的新位置(x',y')..由r,x,y的关系可以得到r,x',y'的关系如下:[cpp]view plaincopy1.x' = r*cos(a+b);2.y' = r*sin(a+b);进一步化简:[cpp]view plaincopy1.x' = r*cos(a)*cos(b) - r*sin(a)*sin(b);2.y' = r*sin(a)*cos(b) + r*cos(a)*sin(b);然后再结合r,x,y的关系得到x,y,x',y'的关系如下:[cpp]view plaincopy1.x' = x*cos(b) - y*sin(b);2.y' = y*cos(b) + x*sin(b);于是上面提到的点旋转位置关系就出来了....即(x,y)经过顺时针旋转b角度后可以得到(x',y')..这个转换公式就是上面的线性方程..写成matlab的方式就是如下啦:[cpp]view plaincopy1.[x',y'] = [cos(b) -sin(b);sin(b) cos(b)]*[x,y]; //%这里的x'不是x的转置哦.好了,到此为止,我们有了旋转公式了...下面就可以利用这个公式对原图的每一个像素点(x,y)计算其旋转后的位置(x',y')了,然后就是复制图像的像素点了(简单不?)...=怎么复制像素点=由上面两节可以看出,图像旋转后的像素应该保存在img_rotated当中. 同时每一个像素的坐标都是正的,即没有(-10,-10)坐标位置的像素点..而从上面(x,y)到(x',y')的计算过程可以看出....x'或者y'都可能出现是负值的问题...于是不能够在计算出x',y'后就直接把x,y处的像素复制到x',y'...因为x',y'可能是一个非法的位置.从上面的图来看,这个问题还是可以解决了..要不然上面我就不能做出那么像样的旋转了呵呵.为了让x',y'合法,让我们来看看原图像顺时针旋转后,原图上哪些点会导致对应的x',y'不合法...经过分析.不难看出只有x'这个变量会出现负值,而x'为负值时x的值就分布在图像的左下角处....而且x'达到最小负数的绝对值是row*sin(b).注意y'永远是一个正的...因为题目的要求可以知道..而且矩阵的左上角是(1,1).即采用计算机的坐标系统.好了,找到了x'不合法的原因了...这个时候就可以找找解决方法了....联想到图像旋转后是存储在img_rotated当中的...而且原图的左下角像素显示在img_rotated的左边界上面...所以解决方法就是计算完成x',y'后,再将x',y'右移一段距离,以让x'始终是正值...很明显,这右移的距离大小就是row*sin(b),注意这里y'是不需要调整的.所以最终x,y得到的目标位置x'',y''就由如下公式计算了.[cpp]view plaincopy1.x'' = x*cos(b) - y*sin(b) + row*sin(b);2.y'' = y*cos(b) + x*sin(b);(可以看出与上面x',y'的计算没有差多少,只是图像右移了下呵呵)得到了x'',y''的同时,我们也知道原图像素(x,y)的目标位置就是img_rotated(x'',y'')哈哈,终于写到这里了...这里也标记着我的这个旋转算法的尾声了....正个算法就是找到(x,y)在img_rotated的显示位置(x'',y'')..经过上面的算法处理后,我是能够看到图像"旋转"了...但是也能明显发现:图像的质量很差...因为img_rotated当中也许多有规律性的背景点没有得到原图像的像素来填充...=存在像素空洞的图像=下图是直接运用上面算法进行的旋转处理后的图像:=解决空洞像素问题=仔细看看有空洞像素的图像可以看出,没有像素填充的点都是有规律的....再想想上面的计算都是基于三角函数的,而且三角函数的值都是小数...于是原因就可以猜出来了.:原点(x,y)到(x'',y'')的计算不是连续的,因为x'',y''是有取整操作的....这个就是造成空洞的原因了...哈哈,知道原因了...查找解决方案就有方向了...由上面可以知道是x'',y''有取整操作...造成部分点没有达到其对应的点上去...所以我在计算x'',y''的时候故意加上了+0.5,-0.5分量到x''或者y''分量上去..目的是把x'',y''周围不可能由x,y达到的点用x,y像素点去填充...这个思想也是今天老师在课堂说的"插值"问题(老师也向我们演示这个问题,他的解决方法是x'',y''周围8个没有填充的像素点用x'',y''点去填充)经过上面的x'',y''调整...图像旋转后的的空洞点就没有了,表面上看起来就是我们想要的旋转后的图像了.呵呵...没有考虑到像素空洞的图像:=图像边界齿距=我个人感觉我的这个算法还是有问题的,于是与IPT工具里面的旋转图像算法相比...結果是我旋转后的图像不仅在尺寸要比imrotate的输出图像要大一点点,而且边界上面的齿距也没有imrotate的输出图像那么完美.(这点我用老师的算法比较也是一样.)于是我想应该是因为上面x'',y''调整问题了...把边界某些点复制多出来了....于是一个一个调整算法(-0.5,+0.5)..最终调试成功了....四个边界的齿距都与IPT的imrotate的输出图像99%一致了(但是右下角的一个点有点不一样呵呵)下面是一张显示齿距的图像块:=算法复杂度=上面提到了就是对图像每一个点的坐标进行计算,然后把点上的像素数据复制到目标坐标上...所以对于一个col*row大小的图像,我这个图像处理算法的时间复杂度是:O(N^2);=小结=呼呼...写到这里也不容易的(写了1小时多一丁点),特别是对于我这种没杂写过文字的人.上面討論了我是怎么实现这个图像旋转算法,同时也考虑了一些图像像素点空洞,边界齿距问题...如果还是有点不明白的,那直接可以结合我的m文件源代码看看,源代码我放到csdn.download里面咯...核心代码量是20行吧.。

相关文档
最新文档