matlab中图像旋转
在matlab中,将一个图像A使用imrotate函数逆时针旋转了6度得到图像B,怎么样将图像B旋转回来得到图像A?...
在matlab中,将一个图像A使用imrotate函数逆时针旋转了6度得到图像B,怎么样将图像B旋转回来得到图像A?
展开
6个回答
展开全部
旋转步骤:
一 matlab函数:B = imrotate(A,angle,method);A是原始图像,angle是旋转角度,B为旋转后的图像;
二 使用method参数可以改变插值算法。 B = imrotate(A,angle,method,bbox)bbox参数用于指定输出图像属性:'crop': 通过对旋转后的图像B进行裁剪, 保持旋转后输出图像B的尺寸和输入图像A的尺寸一样。{'loose'}: 使输出图像足够大, 以保证源图像旋转后超出图像尺寸范围的像素值没有丢失。 一般上这种格式产生的图像的尺寸都要大于源图像的尺寸。
展开全部
一句Matlab代码搞定图像旋转并且保持图像的大小不变:
J=imrotate(W_Gray,angle,'bilinear','crop');
其中W_Gray是输入图像,angle是旋转角度,J是旋转之后的图像。
使用起来很方面,绝对让你惊讶!!!赞起来~~~
J=imrotate(W_Gray,angle,'bilinear','crop');
其中W_Gray是输入图像,angle是旋转角度,J是旋转之后的图像。
使用起来很方面,绝对让你惊讶!!!赞起来~~~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-01-25
展开全部
任意角度时,图像大小会变化,一个可行的办法是旋转B = imrotate(A,angle,method,bbox),bbox设成"loose",然后将B旋转回去,裁剪成原来的大小。因为多出来的部分是黑色的,去掉就好了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一般在hough直接检测,旋转的时候用的比较多
B = imrotate(A,angle)
将图像A(图像的数据矩阵)绕图像的中心点旋转angle度, 正数表示逆时针旋转, 负数表示顺时针旋转。返回旋转后的图像矩阵。 以这种格式调用该函数, 该函数默认采用最近邻线性插值(Nearest-neighbor interpolation)。旋转后的图像超出的部分填充0(黑色)。
B = imrotate(A,angle)
将图像A(图像的数据矩阵)绕图像的中心点旋转angle度, 正数表示逆时针旋转, 负数表示顺时针旋转。返回旋转后的图像矩阵。 以这种格式调用该函数, 该函数默认采用最近邻线性插值(Nearest-neighbor interpolation)。旋转后的图像超出的部分填充0(黑色)。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐于2018-02-27
展开全部
把角度改到-6.a=imread('a[0].jpg');
figure;
imshow(a)
b=imrotate(a,90,'nearest');
figure;
imshow(b)
c=imrotate(b,-90,'nearest');
figure;
imshow(c)
我试了一下,行的
figure;
imshow(a)
b=imrotate(a,90,'nearest');
figure;
imshow(b)
c=imrotate(b,-90,'nearest');
figure;
imshow(c)
我试了一下,行的
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询