matlab 图像旋转

对图像处理的爱好,越来越深了。

 

从最基本开始,从最底层的代码开始,可以更深刻来理解图像算法。


今天需要了解的图像旋转。


下面是matlab写的旋转源代码

%imout  旋转后的图像

%imin 原始图像

%angle 旋转角度

function [ imout ] = ImageRotate( imin,angle )
%UNTITLED11 此处显示有关此函数的摘要
%   此处显示详细说明


[m,n,g] = size(imin);
imin = im2double(imin);


imout = zeros(m,n,g);


w = -2*pi*angle/360;


for i = 1:m
    for j = 1:n
        
        a = i - m/2;
        b = j - n/2;
        
        x = a*cos(w) + b*sin(w);
        y = b*cos(w) - a*sin(w);
        
        x = x + m/2;
        y = y + n/2;
        
        x = ceil(x);
        y = ceil(y);
        if (x>= 1 && x <= m && y >= 1 && y <= n)
            imout(i,j,:) = imin(x,y,:);
        end
        
    end
end

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览