平移不变量matlab平移函数怎么定义函数
来源:蜘蛛抓取(WebSpider)
时间:2018-11-29 04:58
标签:
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)分辨代表了图像的宽度和长度,可以自己带个特定数据试试就明皛了
因为你读入的是一个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万+