关于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))是什么意思?讲解的越详细越好,谢谢!!!
展开
wantws
2011-10-20 · TA获得超过530个赞
知道答主
回答量:58
采纳率:0%
帮助的人:68.2万
展开全部
就是把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)应该也可以
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式