请求帮忙纠错..
function = 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.
不知道哪里有问题..
回复 楼主 光之剑客 的帖子
请LZ上传图像,方便大家调试! 图像是这个。。但是只要命令对图像不是都一样么.. function = im_R(im,rotation)把上面的改为下面的
= im_R(rotation)
页:
[1]