通过flipud,fliplr,imrotate等命令修改RGB矩阵,可是实现的旋转,翻转……
至于你在平移过程中出现的错误,可以试试下面修改过的的代码。出现错误的原因是因为,a,b有可能是3维数组,注意RGB三个分量。
a=imread('f:\abmp');
b=255ones(size(a));
c=[b(:,1:30,:),a];
imshow(c);
就是把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)分辨代表了图像的宽度和长度,可以自己带个特定数据试试就明白了
最后一行,写成这样和程序原意相不相符
transa=maketform('affine',[scale_x delta_x 0; scale_y delta_y 0;0 0 1 ]);
试试:
在函数move_the_picture开头处加上I = im2double(I);
把函数末尾处的outimage=uint8(outimage); I=uint8(I); 改成outimage=im2uint8(outimage); I=im2uint8(I);
以上就是关于matlab图像移动全部的内容,包括:matlab图像移动、关于MATLAB图像平移处理的问题,请各位大侠救急!!!、用MATLAB自带的函数对图像进行旋转、平移的问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)