首页 热点资讯 义务教育 高等教育 出国留学 考研考公

matlab图像旋转怎么操作?

发布网友 发布时间:2022-04-23 08:39

我来回答

1个回答

热心网友 时间:2023-09-26 21:35

下图显示新图像与原图像的长宽关系,注意如果旋转角度是120度,则需要取绝对值,具体参见下面源代码。

下图显示原图像旋转后的点与原图像点的对应关系,以按此公式求得新图像每一点对应的原图像点。



旋转后,由于图像点可能是非整数,出现像素空洞问题,故需要进行插值法,下面选用最近邻插值法。

源代码

[html] view plain copy

=怎么SHOW旋转后的图像=
=图像是怎么显示的=
图像的显示都是基于矩阵像素来显示的...上面每一张图像的图像信息其实是一个RGB矩阵来的.所以必须把旋转后的图像放到一个像素矩阵中才能显示这个旋转后的图像.
设一张图像的大小是col*row的.那么以这个图像对角线为直径的圆就能够包含这个图像经旋转后的图像..在这里因为图像的显示是矩阵式的,所以这里以图像对角线为边长构造一个正方形来保存旋转后的图像.从上面旋转后的图像可以看出效果啦,旋转后的图像就包含在这个正方形的矩阵中.

=计算旋转图像所需要的正方形=
因为图像是col*row的,所以这个正方形的边长 new_img_size = (col^2+row^2)^0.5;
这样使用matlab就可以生成一个存储最终图像的rgb矩阵了:

[cpp] view plain copy

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com