ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

MATLAB产生变换图片

2021-10-07 12:05:24  阅读:228  来源: 互联网

标签:cnt scale angle 变换 filename num2str MATLAB end 图片


function Result=main_create()
close all
clc
tic

Result=[];
for cnt =1:1
ldpath = sprintf(‘02Images/%d.png’,cnt);

% [I,map]=imread(ldpath);
% imshow(I,map);
%

f=imread(ldpath);
imshow(f);

cnt

% %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Rotation
% %rotation transformation,from -90°to 90°,at 10° apart,excluding 0°
%
for angle=0
fr=imrotate(f,angle);
filename=strcat(‘Image/’,num2str(cnt),‘r’,num2str(angle),’.jpg’);
imwrite(fr,filename);

end
for angle=-90:10:-10
fr=imrotate(f,angle);
filename=strcat(‘Image/’,num2str(cnt),‘r’,num2str(angle),’.jpg’);
imwrite(fr,filename);

end
for angle=10:10:90
fr=imrotate(f,angle);
filename=strcat(‘Image/’,num2str(cnt),‘r’,num2str(angle),’.jpg’);
imwrite(fr,filename);

end

%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% scaling
%%uniform and nonuniform scaling transformation,x from 0.5 to 2.0,at 0.1 apart,y from 0.5
%%to 2.0,at 0.1 apart,excluding x=y

for scale_x=0.5:0.1:2.0
for scale_y=0.5:0.1:2.0
if scale_x~=1 ||scale_y~=1
T = maketform(‘affine’,[scale_x 0 0; 0 scale_y 0; 0 0 1]);
fu= imtransform(f,T);
filename=strcat(‘Image/’,num2str(cnt),‘s’,num2str(scale_x),’_’,num2str(scale_y),’.jpg’);
imwrite(fu,filename);
end
end
end

%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Affine
%combined(affine) transformation,angles range form -30°to -30°;x,y from
%0.8 to 1.2,at 0.1 apart,y from 0.8 to 1.2,at 0.1 apart,excluding x=y

angle_array=[-30 -20 -10 10 20 30 ];
for i=1:6
angle=angle_array(i);
for scale_x=0.8:0.1:1.2
for scale_y=0.8:0.1:1.2
if abs(scale_x-scale_y)>1e-3
if scale_x~=1 ||scale_y~=1
T = maketform(‘affine’,[scale_x 0 0; 0 scale_y 0; 0 0 1]);
fr=imrotate(f,angle);
fu= imtransform(fr,T);

                filename=strcat('Image/',num2str(cnt),'_a_',num2str(angle),'_',num2str(scale_x),'_',num2str(scale_y),'.jpg');
                imwrite(fu,filename);
            end
        end
    end
end

end

%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Jpeg
%%Jpeg lossy compression ,quality factors range from 5 to 100,at 5 apart

for quality_factor=5:5:100
filename=strcat(‘Image/’,num2str(cnt),‘j’,num2str(quality_factor),’.jpg’);
imwrite(f,filename,‘Quality’,quality_factor,‘mode’,‘lossy’);
end

%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Gaussian
%gaussian white noise, range from0.005 to 0.05,at 0.005 apart

for noise=0.005:0.005:0.05
fi=imnoise(f,‘Gaussian’,noise);
filename=strcat(‘Image/’,num2str(cnt),‘n’,num2str(noise),’.jpg’);
imwrite(fi,filename);

end

end

标签:cnt,scale,angle,变换,filename,num2str,MATLAB,end,图片
来源: https://blog.csdn.net/ZYYYYYYY123/article/details/120634530

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有