精华内容
下载资源
问答
  • % 仿射变换 transformmatrix = [0.5 0 0; 0.5 1 0; 0 0 1]; % 仿射变换......使用 MATLAB 实现随机分形树模拟尤鸿霞 (南通纺织职业技术学院,南通,226007) ...主要技术有相似变换及仿射变换。相似变换可放大缩小甚至...

    【例】使用imtransform函数实现图像平面扭曲功能 transformtype = 'affine'; % 仿射变换 transformmatrix = [0.5 0 0; 0.5 1 0; 0 0 1]; % 仿射变换......

    使用 MATLAB 实现随机分形树模拟尤鸿霞 (南通纺织职业技术学院,南通,226007) ...主要技术有相似变换及仿射变换。相似变换可放大缩小甚至旋转,但 不变形;仿射变换......

    基于仿射变换的人脸对齐的实现方法_IT/计算机_专业资料。为了将人脸库中的人脸进...

    给出如下一组IFS码14】. 笔者利用MATLAB工具及这些IFS码,实现了IFS树的模拟.如表1所示. 笔者在丁永胜等人13I的研究结果的基础上,采用不同于丁永胜等人的变换......

    基于空间几何变换的人脸对齐(Matlab 内置函数实 现) 1.仿射变换在人脸对齐中, 常常会将图像进行空间几何变换, 仿射变换是其中最常用的一种空 间变换形式。可以用......

    该参数实现多次调用tformfwd功能 - 12 2.2 图像的几何变换 【例】使用imtransform函数实现图像平面扭曲功能 transformtype = 'affine'; % 仿射变换 transformmatrix......

    (3,2)=40为y方向平移距离 仿射变换平移 比例 错切 旋转 变换矩阵 示例...

    韧仿射变换 一、将坐标进行伸缩变换,实现化椭为圆 仿射变换定理一:若经过椭圆的对称中心的直线构成的直径三角形,则两条弦的斜率乘积 kAC kBC b2 a2 . 仿射变换......

    空间数据坐标变换 a0、 a1、 a2、 b0、 b1 、 b2 要实现仿射变换,需要知道不在同一直线上的3对控制点的数字化坐 标及其理论坐标值,可求得上述的6个待定参数......

    提出了一种由仿射变换关系到线性回归的3D人脸空间姿态估计方法.即跟踪到人脸特征点后,根据仿射变换关系得到人脸姿态的粗估计值,以这个粗估计值作为人脸姿态的初始值,......

    Matlab 仿真实现李 丹, 张梁斌 , 梁世斌 315100 ) ( 浙江万里学院 , 浙江 ...[3],通过图像分块方法 ,以局部的仿射变换代替全局的仿射变换 ,此即为目前分形......

    Matrix为相应的仿射变换矩阵。 A=imread('nir.bmp'); [height,width,dim]=...Canny边缘检测算法 Matlab实现 1)、基于梯度算子的边缘检测 BW=edge(I,type,......

    2009. 13. 034 基于 MATLAB 的数码相机定位研究及...为了对相机 进行标定 , 根据仿 射变换理 论 , ...41 双目定位 ; 仿射理论 ; 最小二 乘法 ; A ......

    部变 ’差按 检测 精度 和较快 的计 算速 度,是,但 这些 方法 的运 用 换两种(1 。根据实验,里采用仿射变换 的方 表)这 都涉及相 关阈值的 确定 ......

    Matrix为相应的仿射变换矩阵。 A=imread('nir.bmp'); [height,width,dim]=...Canny边缘检测算法 Matlab实现 1)、基于梯度算子的边缘检测 BW=edge(I,type,......

    基本上归一化思想是利用图像的不变矩寻找一组参数使其能够消除其他变换函数对图 像变换的影响。也就是转换成唯一的标准形式以抵抗仿射变换 图像归一化使得图像可以......

    Matrix为相应的仿射变换矩阵。 A=imread('nir.bmp'); [height,width,dim]=...Canny边缘检测算法 Matlab实现 1)、基于梯度算子的边缘检测 BW=edge(I,type,......

    Matlab7.x 图像处理 ch2_1_1:查看直方图(§2.1...(§3.2.4) ch3_2_4:生成和应用仿射变换(§3....法实现降噪 (§5.2.2) winner 滤波法实现降噪 (......

    生成和应用仿射变换(§3.2.5) ch3_2_5:findbounds 函数的...

    matlab 图像处理为什么要归一化和如何归一化 一、为什么归一化 1. 基本上归一化思想是利用图像的不变矩寻找一组参数使其能够消除其他变换函数对图像变换的影响。也......

    展开全文
  • matlab仿射变换程序

    热门讨论 2008-12-07 10:07:07
    给出放射变换的matlab程序,可以对图像进行仿射变换处理!
  • 图像仿射变换原理和实现发布时间:2018-05-06 01:03,浏览次数:1148仿射变换能够保持图像的“平直性”,包括旋转,缩放,平移,错切操作。一般而言,仿射变换矩阵为2*3的矩阵,第三列的元素起着平移的作用,前面...

    图像的仿射变换原理和实现

    发布时间:2018-05-06 01:03,

    浏览次数:1148

    仿射变换能够保持图像的“平直性”,包括旋转,缩放,平移,错切操作。一般而言,仿射变换矩阵为2*3的矩阵,第三列的元素起着平移的作用,前面两列的数字对角线上是缩放,其余为旋转或者错切的作用。透视变换原理及实现请看我

    下篇博客 。

    设仿射变换矩阵T = [a11,a12,a13 ; a21,a22,a23]; 图像上fixed points坐标为(Xk,Yk);moving

    points坐标为(xk,yk),其中k=1,2,...,n。

    为了求解该仿射变换矩阵T的6个未知参数,理论上至少需要6个方程联立求解,即需要3组点集对,n>=3,当n>3时用最小二乘法求解未知参数。并且这三组点不共线。

    数学展开式如下图:

    下面根据上面公式给出实现代码,图像使用最近邻插值。

    %% 读取原图像 clear ; close all; src=rgb2gray(imread('lena.png')); imshow(src); %%

    method1,用3组点集对图像进行仿射变换,调用matlab系统函数 fixedPoints = [1,1; 1,100;100,100];

    movingPoints = [20,20; 120,80; 160,200]; tic; tform =

    fitgeotrans(movingPoints,fixedPoints,'affine'); dst_img = imwarp(src,tform);

    t_sys = toc; figure;imshowpair(src,dst_img,'montage');

    title(['系统函数的仿射变换图像,耗时(s):',num2str(t_sys)]) %% method2,用3组点集对图像进行仿射变换,解方程求变换矩阵

    % T = [a11,a12,a13;a21,a22,a33]; % 满足fixed_pt_matrix = T*moving_pt_matrix; tic;

    fixed_pt_matrix = fixedPoints'; moving_pt_matrix =

    [movingPoints';ones(1,size(movingPoints,1))]; T =

    fixed_pt_matrix/moving_pt_matrix; width = size(src,2); height = size(src,1);

    [moving_pt_x,moving_pt_y] = meshgrid(1:width,1:height); coridate_affine =

    T*[moving_pt_x(:)';% 对原来图像所有坐标点变换到新平面上 moving_pt_y(:)'; ones(1,width*height)];

    x_temp = coridate_affine(1,:); y_temp = coridate_affine(2,:); fixed_pt_x =

    reshape(x_temp,... size(moving_pt_x))+... abs(min(x_temp))+1; fixed_pt_y =

    reshape(y_temp,... size(moving_pt_y))+... abs(min(y_temp))+1; fixed_pt_x =

    round(fixed_pt_x); fixed_pt_y = round(fixed_pt_y); dst_affine_img =

    zeros(round(max(y_temp)-min(y_temp))+1,... round(max(x_temp)-min(x_temp))+1);

    for i = 1:height for j = 1:width

    dst_affine_img(fixed_pt_y(i,j),fixed_pt_x(i,j)) = src(i,j); end end t_manual =

    toc; figure;imshowpair(src,uint8(dst_affine_img),'montage');

    title(['计算的仿射变换图像,耗时(s):',num2str(t_manual)]) %% 插值处理 [index_i,index_j] =

    find(dst_affine_img); for i = 1:size(dst_affine_img,1) for j =

    1:size(dst_affine_img,2) [min_distance,index_near] =

    min(sqrt((i-index_i).^2+(j-index_j).^2)); if dst_affine_img(i,j)==0 &&

    min_distance<=1 dst_affine_img(i,j) =

    dst_affine_img(index_i(index_near),index_j(index_near)); end end end figure;

    imshowpair(src,uint8(dst_affine_img),'montage'); title('插值后图像')

    再看一个对点集的简单测试,T =  [1,1,0;2,1,0];

    %% 坐标点的仿射变换 [pt_x,pt_y] = meshgrid(1:10); pt_x = pt_x(:); pt_y = pt_y(:);

    figure;subplot(211);plot(pt_x,pt_y,'ro');grid on; title('原始点集') dst_pt =

    zeros(length(pt_x),2); tf_affine = [1,1,0;2,1,0]; for i = 1:length(pt_x) dst =

    tf_affine*[pt_x(i),pt_y(i),1]'; dst_pt(i,:) = [dst(1),dst(2)]; end

    subplot(212);plot(dst_pt(:,1),dst_pt(:,2),'bo');grid on title('仿射后点集')reference:

    https://ww2.mathworks.cn/help/images/ref/fitgeotrans.html?s_tid=srchtitle

    展开全文
  • 执行一般的二维空间变换包括如下三步:这三步是最基本的步骤1.定义空间变换的参数;2.创建变换结构体TFORM,它定义了你所要执行变换的类型;TFORM结构体包含了执行变换需要的所有参数。你可以定义很多类型的空间变换...

    执行一般的二维空间变换包括如下三步:这三步是最基本的步骤

    1.定义空间变换的参数;

    2.创建变换结构体TFORM,它定义了你所要执行变换的类型;

    TFORM结构体包含了执行变换需要的所有参数。你可以定义很多类型的空间变换,包括放射变换affine transformations(如平移translation,缩放scaling,旋转rotation,剪切shearing)、投影变换projective transformations和自定义的变换custom transformations。

    创建结构体的方法有两种:使用maketform或者使用cp2tform。

    3.执行变换。

    通过将要变换的图像和TFORM结构体传递给imtransform函数即可实现变换。

    实例

    Step 1: 导入要变换的图像

    Matlab提供了一个棋盘图像,可以以此作为例子,它的调用函数为checkerboard,它将创建一个80X80像素的图像。

    cb = checkerboard; % 导入图像

    figure,

    imshow(cb)

    Step 2: 定义空间变换

    定义二维的空间变换需要一个3X3的变换矩阵,也可以通过在输入图像和输出图像上指定对应点的方式由maketform自动创建变换矩阵。这里使用如下的变换矩阵来定义空间平移变换

    % 定义变换矩阵

    xform = [ 1   0     0

    0   1     0

    40 40  1 ];

    % 在这个矩阵中,xform(3, 1)定义了图像在水平方向上平移的像素数,xform(3, 2)定义了图像在垂直方向上平移的像素数。

    Step 3: 创建TFORM结构体

    使用maketform函数可以创建TFORM结构体,参数为希望执行变换的类型和变换矩阵。

    % 创建TFORM结构体

    tform_translate = maketform('affine', xform);

    Step 4: 执行变换

    0818b9ca8b590ca3270a3433284dd417.png

    使用imtransform函数执行变换,参数为要变换的图像和TFORM结构体,函数将返回变换后的图像。

    % 执行变换

    [cb_trans xdata ydata]= imtransform(cb, tform_translate);

    %返回值中包含的另两个额外输出参数xdata和ydata,表示输出图像在输出坐标空间的位置。xdata包含了输出图像拐角处像素的x坐标,ydata包含了这些像素的y坐标(这里说的x、y坐标是指像素的中点)。

    平移变换的效果,可以看到,(1, 1)点的像素转移到了(41, 41)的位置,注意那一点的像素值没有变。

    imtransform函数决定输出图像的像素值是把新位置映射回输入图像的相应位置。在平移变换中,由于图像的大小和旋转角度没有变,所以是一一映射;对于其他类型的变换,如放缩、旋转,此函数将在输入图像上插值计算输出图像的像素值。学过图像处理的这个应该很清楚。

    0818b9ca8b590ca3270a3433284dd417.png

    从结果看来,貌似变换没有效果,变换后图像和原图像是一样的。但如果你检查xdata和ydata的数值,就会看到图像的空间坐标已经改变了。原始图像左上角的坐标由(1, 1)变为了(41, 41),右下角由(80, 80)变为了(120, 120),40已经被加到了每个像素的空间坐标上。

    >> xdata

    xdata =    41   120

    >> ydata

    ydata =41   120

    而显示结果上没有变化的原因是函数imtransform得到的输出图像足够包含了变换后的图像,但没有包含全部的坐标空间。要看到变换的效果,需要使用imtransform函数的额外输入参数来指定输出图像的大小和能包含输出图像的输出空间。

    下面的代码使用了XData和YData两个额外参数来指定能包含输出图像的输出空间,而对于输出空间中不在输出图像上的像素默认为黑色,这可以通过改变imtransform函数的FillValues参数来指定。

    % 修正的变换结果

    cb_trans2 = imtransform(cb, tform_translate,...

    'XData', [1 (size(cb,2)+ xform(3,1))],...

    'YData', [1 (size(cb,1)+ xform(3,2))]);

    figure,

    imshow(cb_trans2)

    0818b9ca8b590ca3270a3433284dd417.png

    定义空间变换的方式

    下面来讨论定义空间变换的两种方式:使用变换矩阵和使用对应点。

    使用变换矩阵

    Maketform函数可以接受一个N维的变换矩阵来产生TFORM结构体。而由于imtransform只能做二维变换,故只能指定3X3的转换矩阵。

    如使用3X3的矩阵来指定任何的仿射变换,而对于仿射变换,最后一列必须是0 0 1,所以你指定3X2的矩阵就足够了,在这种情况下,imtransform会自动添加第三列。

    0818b9ca8b590ca3270a3433284dd417.png

    使用对应点

    除了指定变换矩阵,你还可以通过使用对应点来定义一个变换,让maketform自动生成变换矩阵。 要对一个仿射变换使用此方法,需要在输入、输出图像上拾取3对非线性的点,而对于投影变换,则需要指定四对点。如

    in_points = [11 11;21 11; 21 21];

    out_points = [51 51;61 51;61 61];

    tform2 = maketform('affine', in_points, out_points);

    创建TFORM结构体

    有了上面的变换数据,就可以用maketform创建TFORM结构体了,也可以使用cp2tform函数来创建,具体详见Image Registration。

    在使用maketform创建TFORM结构时,需要指定必要的变换方式。如要做平移变换需要指定为仿射变换方式,除此maketform还支持投影变换,另外可以使用custom和composite选项来指定任意的空间变换。

    执行空间变换

    有了上面的TFORM结构体,就可以调用imtransform执行变换了。正如上面例子中所使用的那样

    [cb_trans xdata ydata]= imtransform(cb, tform_translate);

    另外,imtransform函数还支持几个可选输入参数来控制转换的不同效果,如输出图像的大小、填充值等。上面例子中的XData和YData就是控制输出图像大小的输入参数。对于填充值可以如下设置。

    指定填充值

    当执行一个变换时,输出图像上有很多像素不在位于原输入图像的位置,这些像素必须被赋予一些值,这就是填充值。默认情况下,imtransform函数设置这些像素为0,显示为黑色。而通过使用FillValues参数可以指定不同的颜色。

    对于灰度图像

    如果待转换的图像是灰度图像,就需要指定一个标量值来设置灰度的阴暗度。如下

    cb_fill = imtransform(cb, tform_translate,...

    'XData', [1 (size(cb,2)+xform(3,1))],...

    'YData', [1 (size(cb,1)+xform(3,2))],...

    'FillValues', .7 );Figure

    imshow(cb_fill)

    对于RGB图像

    对于RGB彩色图像,可以使用一个标量值或者一个1X3的向量。如果使用标量,imtransform会使用相应阴暗度的灰度值来填充;如果使用向量,则会将其按RGB彩色值来使用。

    % 彩色图像处理

    rgb = imread('onion.png');

    xform = [ 1 0 0

    0 1 0

    40 40 1 ];

    tform_translate = maketform('affine',xform);

    cb_rgb = imtransform(rgb, tform_translate,...

    'XData', [1 (size(rgb,2)+xform(3,1))],...

    'YData', [1 (size(rgb,1)+xform(3,2))],...

    'FillValues', [187;192;57]);

    figure

    imshow(cb_rgb)

    0818b9ca8b590ca3270a3433284dd417.png

    展开全文
  • MATLAB 仿射变换

    万次阅读 2017-06-04 11:34:35
    如下图,matlab中通过定义一个3×3的矩阵实现仿射变换(平移、缩放、旋转等)。注意到,变换矩阵的第三列恒为【0,0,1】,实际上,确定一个仿射变换只需要一个2×3的变换矩阵即可。matlab 仿射变换主要有三种常用形式...

    首先,先简单介绍下仿射变换的基本原理。

    这里写图片描述

    如下图,matlab中通过定义一个3×3的矩阵实现仿射变换(平移、缩放、旋转等)。注意到,变换矩阵的第三列恒为【0,0,1】,实际上,确定一个仿射变换只需要一个2×3的变换矩阵即可。

    这里写图片描述

    matlab 仿射变换主要有三种常用形式。

    一:自定义变换矩阵

    xform = [ 1 0 0 ; 0 1 0 ; 40 40 1]; 在这个矩阵中,xform(3, 1)定义了图像在水平方向上平移的像素数,

    xform(3, 2)定义了图像在垂直方向上平移的像素数。 创建TFORM结构体: tform_translate =

    maketform(‘affine’, xform);

    执行变换: [cb_trans xdata ydata]= imtransform(cb, tform_translate);

    这里写图片描述

    二:已知变换图像坐标,求变换矩阵

    要对一个仿射变换使用此方法,需要在输入、输出图像上拾取3对非线性的点,而对于投影变换,则需要指定四对点。

    in_points = [11 11;21 11; 21 21];

    out_points = [51 51;61 51;61 61];

    tform2 = maketform(‘affine’, in_points, out_points)

    三:已知匹配的特征对,求变换矩阵

    图像的特征点匹配运用十分广泛,如SIFT、SURFF,当我们对图像特征点匹配成功后,可利用estimateGeometricTransform函数,实现几何变换求解。同样,可以得到一个3×3的变换矩阵tform。

    [tform,inlierPtsDistorted,inlierPtsOriginal]=estimateGeometricTransform(matchedPtsDistorted,matchedPtsOriginal,’similarity’);

    另外,imtransform函数还支持几个可选输入参数来控制转换的不同效果,如输出图像的大小、填充值等。详情自行help。

    参考文献:http://blog.sina.com.cn/s/blog_6163bdeb0102du23.html

    展开全文
  • 定义:一个非奇异线性变换接一个平...可用imwarp(A,tfrom)来进行仿射变换,例如 clear all; clc; I = imread('cameraman.tif'); tform = affine2d([1 0 0; .5 1 0; 0 0 1]); J = imwarp(I,tform); figure, imshow(I),
  • % 得到x数组坐标为:x1,x2,x3,x3,得到y数组坐标为y1,y2,y3,y4,并传入需要旋转的二值化之后的图片 % 输出就是旋转之后的图片 % 第一个点是参考点 % 定义2个变量存储另外一个点的坐标 % 计算三个距离  s2 = ( x(1) ...
  • 1图像配准在利用显微照相机拍摄生物组织的序列切片图像时,由于人为将切片放置在载玻片上,会产生不同程度的偏移、旋转,使相邻切片的图像不匹配,无法进行三维重建。图1和图2是黄瓜茎横截面的两个相邻切片在显微照相机...
  • 图像仿射变换的小例子,下载者自行选择图片。可以根据自己使用的需要,写成函数。
  • 我在图像中检测到一个显着区域,我执行了一系列操作,最重要的是仿射归一化(将椭圆转换为圆形,将梯形转换为等边矩形).仿射归一化是矩阵中剪切和缩放的组合,如下所示:Chol=[a,b0,c]a,[0,1]中的c和[-1,1]中的b(对于那些...
  • 算法框架和步骤可以以图像旋转算法为参考。 ...仿射变换公式: i´= a*i+b*j+ai  j´= c*i+d*j+aj [i´, j´,1] = [i, j, 1][a b 0; c d 0; ai aj 1];  function [im] = aff(I,T)
  • 图像仿射变换——MatLab代码实现

    千次阅读 2019-10-06 16:49:19
    这里先说一下我们的目的,最近在用Pix2Pix 做一个项目的时候,...为了解决这一问题,我们使用图像仿射变换技术来解决这个问题,仿射变换的原理网上一搜就有一大把,这里不做介绍,这里只给出代码实现。 img_x = "./1...
  • AffineTransformation 计算几何仿射变换并将其应用... 仿射矩阵和仿射变换使用 Matlab Image Processing Toolbox 计算功能:maketform 和 imtransform。 所以这个程序只是演示和促进这些函数在二维图像上的计算和应用。
  • matlab 仿射变换

    万次阅读 2012-12-26 11:56:55
    综述  执行一般的二维空间变换包括如下三步: ...1. 定义空间变换的参数...2. 创建变换结构体TFORM,它定义了你所要执行变换的类型; TFORM结构体包含了执行变换需要的所有参数。你可以定义很多类型的空间变
  • matlab图像处理中的注意点/坑 1、全局变量在调用它的函数中,都需要声明,不然识别不出来。 2、(天坑)在matlab中,矩阵的行数是图像的高,矩阵的列数是图像的宽。在代码实现的过程中,尽量避免使用(i,j)/(x,y),...
  • 此函数通过仿射变换矩阵 'M' 变换体积 'old_im'。 输出音量可以被子采样和过采样。 该函数使用 interp3,因此可以进行“最近”、“线性”、“样条”、“三次”和快速 ( * ) 插值。 % 用法示例——简单翻译加载MRI....
  • MATLAB程序分享基于仿射变换的数字图象置乱技术源程-基于仿射变换的数字图象置乱技术 MATLAB源程序代码.rar 程序代码见附件,拿资料请顺便顶个贴~~ 如果下载有问题,请加我 qq 1530497909,给你在线传
  • 图像几何】基于图像空间变换(仿射变换matlab源码含 GUI.md
  • 图像处理中的空间变换(spatial transformation)分成两种情况,有仿射变换(Affine Transformation)及投影变换(Perspective Transformation)。 仿射变换是从一个二维坐标变换到另一个二维坐标,它是一种线性...
  • MATLAB上实现仿射变换

    万次阅读 2017-04-20 22:34:02
    一、执行一般的二维空间需要三步: ...你可以定义很多类型的空间变换,包括放射变换affinetransformations(如平移translation,缩放scaling,旋转rotation,剪切shearing)、投影变换projectivetransf
  • 相信大家对图像如何进行放大与缩小已经有了清晰的理解,那么我们这节学习OpenCV中比较重要的内容,即仿射变换(warpAffine),仿射变换可以实现对稍微倾斜的图片进行矫正哦!!那么接下来我们就正式进入仿射变换的学习...
  • 基于matlab仿射变换数字图象置乱 二、源代码 function chengxu() A=imread('lena.png'); figure,imshow(A); title('原图像(256*256)'); for K=1:16 %置乱16次 figure,imshow(B); title(['置乱',num2str(K),'次...
  • 图像的等距变换,相似变换,仿射变换,射影变换及其matlab实现 第二次写CSDN文档,上一篇的排版实在太烂了,于是决定认真学习一下markdown的语法。 好了,废话不多说,今天,我们学习一下图像(2维平面)到图像(2...
  • 完整代码可直接运行,运行效果图见压缩包
  • 图像处理中的空间变换(spatial transformation)分成两种情况,有仿射变换(Affine Transformation)及投影变换(Perspective Transformation)。 仿射变换是从一个二维坐标变换到另一个二维坐标,它是一种线性变换,...
  • 相同的仿射矩阵,比如用一个30度的旋转矩阵,对同一图像做旋转出来,显示出来的图像效果如下:我只要实现旋转操作,显示的结果就是是完美的整幅图像。而python调用opencv的函数进行操作,还需要考虑一些参数,比如...
  • 题目:自定义一个图像的平移变换函数myImageTranslation,用于平移给定的输入图像,要求该函数的输入参数包括处理前的图像img1、垂直方向的平移步长delta_v和水平方向的平移步长delta_h,输出参数为处理后的图像img2...
  • python3 图片仿射变换

    2016-05-17 09:24:00
    图片仿射变换示例。
  • 摘 要:在MATLAB平台下,综合利用等差分纬线多圆锥投影的正反解变换实现了投影后矢量和栅格数据的输出。输出后的成图不仅保证了数据的准确性,可靠性,并且可以供用户直接在地理信息系统软件ArcMap中读取和编辑,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,582
精华内容 632
关键字:

matlab图像仿射变换

matlab 订阅