
关于MATLAB图像平移处理的问题,请各位大侠救急!!!
平移函数是这样的%图像平移变换I=imread('iron.jpg');J=double(I);H=size(I);I_moveresult=zeros(H);%I_mo...
平移函数是这样的
%图像平移变换
I = imread('iron.jpg');
J = double(I);
H = size(I);
I_moveresult = zeros(H);%I_moveresult = zeros(H)+255后背景变成了白色的
x_move = 50;
y_move = 50;
I_moveresult(x_move+1:H(1),y_move+1:H(2),1:H(3)) = J(1:H(1)-x_move,1:H(2)-x_move,1:H(3));
figure,imshow(I);
figure,imshow(mat2gray(I_moveresult));
======================================================
请问一下
I_moveresult(x_move+1:H(1),y_move+1:H(2),1:H(3)) = J(1:H(1)-x_move,1:H(2)-x_move,1:H(3))是什么意思?讲解的越详细越好,谢谢!!! 展开
%图像平移变换
I = imread('iron.jpg');
J = double(I);
H = size(I);
I_moveresult = zeros(H);%I_moveresult = zeros(H)+255后背景变成了白色的
x_move = 50;
y_move = 50;
I_moveresult(x_move+1:H(1),y_move+1:H(2),1:H(3)) = J(1:H(1)-x_move,1:H(2)-x_move,1:H(3));
figure,imshow(I);
figure,imshow(mat2gray(I_moveresult));
======================================================
请问一下
I_moveresult(x_move+1:H(1),y_move+1:H(2),1:H(3)) = J(1:H(1)-x_move,1:H(2)-x_move,1:H(3))是什么意思?讲解的越详细越好,谢谢!!! 展开
展开全部
就是把J中左上角,坐标从1到H(1)-x_move行,1到H(2)-x_move列的数据赋给I_moveresult右下角,从x_move+1到H(1)行,y_move+1到H(2)列,相当于往右下角移动了(50,50),H(1),H(2)分辨代表了图像的宽度和长度,可以自己带个特定数据试试就明白了
追问
那1:H(3)代表什么意思?一定要写这句语句?
追答
因为你读入的是一个jpg,矩阵是三维的,1:H(3)就是你移动的那些点上的z的值,因为是平移,这些z值肯定不用变了,直接赋过去,只是横纵坐标发生了变化,用:代替1:H(3)应该也可以
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询