旋转文件夹中的所有图像

时间:2014-08-14 09:08:18

标签: matlab image-processing rotation

我有一些我用我选择的角度旋转的图像。 我想要的是,旋转第一张图像后,所有其他图像将以相同的角度旋转,所有图像将保存在原始文件位置。

这是我用来旋转所有图像的代码

function [ output_args ] = cut( filename)
global angle;
global ir;
frames(filename);
rotationGUI('frames/001.jpg')
for i = 1 : 219 
   ir= imrotate('frames/%0.3i.jpg',angle);

end
end

这是旋转第一张图像的代码

function [ angle ] = rotationGUI(a)

I = imread(a);
hFig = figure('menu','none');
hAx = axes('Parent',hFig);

hTxt = uicontrol('Style','text', 'Position',[290 28 20 15], 'String','0');
uicontrol('Parent',hFig, 'Style','slider', 'Value',0, 'Min',0,...
    'Max',360, 'SliderStep',[1 10]./360, ...
    'Position',[150 5 300 20], 'Callback',{@slider_callback,I,hAx,hTxt,hFig})


uicontrol(hFig,'Style','pushbutton','String','Save and Close',...
    'Position',[10 20 120 40],'Callback',{@ok_Callback,I,hTxt,hFig,a});

  %# show image
imshow(I, 'Parent',hAx)
%# Callback function
return;
end
    function slider_callback(hObj, eventdata,I,hAx,hTxt,hFig)
global angle
global Irot
angle = round(get(hObj,'Value'));        %# get rotation angle in degrees

Irot = imrotate(I,angle);
imshow(Irot, 'Parent',hAx)  %# rotate image
set(hTxt, 'String',num2str(angle))       %# update text
end

function ok_Callback(hObj, eventdata,I,hTxt,hFig,path1)

global Irot
global angle
set(hTxt, 'String','save')
imwrite(Irot,path1);

delete(hFig);
end

问题是以下错误

Error in imrotate (line 113)
   B = zeros(new_size,class(A));

Error in cut (line 7)
   ir= imrotate('frames/%0.3i.jpg',angle);

2 个答案:

答案 0 :(得分:2)

imrotate(A, angle)有两个参数,一个图片A和一个angle

您的错误消息告诉您cut函数的第7行正在抛出错误。

ir= imrotate('frames/%0.3i.jpg',angle);

这是因为' frames /%0.3i.jpg'不是图像。这是一个字符串。

您需要使用imread之类的功能加载图片,然后才能使用imrotate

答案 1 :(得分:0)

tnx朋友....我找到了一个衣服

function [ output_args ] = FramesRotate()
global ir;
global numFrames
global angle
%frames(filename);
%rotationGUI('frames/001.jpg')
for i = 2 : numFrames 
img=imread( sprintf( 'frames/%03i.jpg', i ) ); 
ir=imrotate( img, angle); 
imwrite(ir,sprintf( 'frames/%03i.jpg', i ) );


end
end