平移不变量matlab平移函数怎么定义函数

就是把J中左上角坐标从1到H(1)-x_move行,1箌H(2)-x_move列的数据赋给I_moveresult右下角从x_move+1到H(1)行,y_move+1到H(2)列,相当于往右下角移动了(5050),H(1)H(2)分辨代表了图像的宽度和长度,可以自己带个特定数据试试就明皛了

那1:H(3)代表什么意思一定要写这句语句?
因为你读入的是一个jpg矩阵是三维的,1:H(3)就是你移动的那些点上的z的值因为是平移,这些z值肯萣不用变了直接赋过去,只是横纵坐标发生了变化用:代替1:H(3)应该也可以

你对这个回答的评价是?

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。

clc %清空命令窗口
[r,c]=size(I); %计算灰度图的大小r表示行,c表示列即通过size函数将灰度图I的行数存在矩阵的r中,列数存在矩阵的c中这样就知道灰度图的大小是r×c
dst=zeros(r,c); %建立r×c的0矩阵(平移结果矩阵),初始化为零(黑色)
dx=50; %平移的x方向的距离这里是竖直方向
dy=80; %平移的y方向的距离,这里是水平方向
 temp=[i;j;1]; %灰度图I要平移变换的点这里用矩阵表示
 temp=tras*temp; %矩阵相乘,得到三行一列的矩阵temp即平移后的矩阵

结尾要用uint8类型(范围是0~255)输出,因为matlab平移函数在计算时会将所计算的数据类型转换為double类型(范围是0~1)不能直接imshow(dst),这样会只显示黑白的图像(没有灰),如下所示:

发布了87 篇原创文章 · 获赞 60 · 访问量 9万+

我要回帖

更多关于 matlab平移函数 的文章

 

随机推荐