马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
function [imN] = im_R(im,rotation) %im是输入图像,rotation是旋转矩阵
close all;
im=imread('panda.jpg');
subplot(1,2,1);
imshow(im);
dim = ndims(im); %确定维数,对灰度和彩色图像分别处理
w = size(im,2);
h = size(im,1);
if( dim == 3 )
imN = zeros( h, w, 3 );
else
imN = zeros(h,w);
end
im = double(im);
for r = 1 : h
for c = 1 : w
t = rotation * [ r - h / 2; c - w / 2 ] + [ h / 2; w / 2 ];%旋转
if( t(1) > 1 && t(2) > 1 && t(1) < h && t(2) < w )%双线性插值
x = floor( t(1) );
y = floor( t(2) );
v1 = im( x + 1, y, : ) * ( t(1) - x ) + im( x, y, : ) * ( 1 + x - t(1) );
v2 = im( x + 1, y + 1, : ) * ( t(1) - x ) + im( x, y + 1, : ) * ( 1 + x - t(1) );
v = v2 * ( t(2) - y ) + v1 * ( 1 + y - t(2) );
imN( r, c, : ) = round(v);
end
end
end
imN = uint8(imN);
subplot(1,2,2);
imshow(imN);
运行老是提示Strings passed to EVAL cannot contain function declarations.
不知道哪里有问题.. |