本文是从我以前的博客里转过来的。是原创文章。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 实现功能:matlab
% 1、批量读取图像文件:BMP/GIF/JPG;
% 2、调用系统命令:如创建文件夹 mkdir;
% 3、批量读取文件信息;
% 4、保存图像文件。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear; %清除变量
clc; %清除屏幕
fileFolder=’E:\\work\\railway\\test\\2\\’; %设置文件夹路径
fileType=’*.bmp’; %设置文件变量
% filename=sprintf(‘img%3d’,12)
fprintf(['getting file list within folder :',fileFolder,'(file type:)',fileType,'...\n\n']); %输出提示信息
picstr=dir([fileFolder,fileType]); %获取相应文件信息
[row,col]=size(picstr); %获取文件数量row
fprintf(['creating gray image folder:',fileFolder,'gray\\...\n']); %输出提示信息
system(['mkdir ',fileFolder,'gray\\']); %调用系统命令 mkdir,创建文件夹
for i=1:row
fprintf(['\nreading ',picstr(i).name,'...\n']); %输出载入信息
video_rgb(:,:,:,i)=imread([fileFolder,picstr(i).name]); %载入图像
video_gray(:,:,i)=rgb2gray(video_rgb(:,:,:,i)); %彩色图转换成灰度图
fprintf(['saveing ','g',picstr(i).name,'...\n']); %输出保存信息
imwrite(video_gray(:,:,i),[fileFolder,'gray\g',picstr(i).name],’BMP’); %保存图像
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
参考资料:
1.读入图片:imread(‘filename’)
如:f=imread(‘chest.jpg’);
注意:1.括号内为单引号,注意与C区分
2.命令行最后为冒号,否则会吃苦头的哦,呵呵
3.保证图片chest.jpg在当前目录下,否则要给出图片的完全路径
如:f=imread(‘D:\myimages\chest.jpg’);
4.filename后要跟图片格式后缀。
注:上述为推荐使用方式,即使用imshow(f),也可以,二者之间的区别可以从下面两幅图的显示上看出
imshow(f)imshow(f,[ ])
第一幅图片的灰度级较小,而,通过imshow(f,[ ])后它的灰度级范围得到拉伸。
imshow(f,[ ])是imshow(f,[ min high])的特例,即将f的实际最小对应到min,而其最大灰度级对应到max。
而对于f中小于等于min的灰度级显示为黑色,大于等于max的灰度级显示为白色。
3.写入图片:imwrite(f,’filename’)
其中对于JEPG格式的图片有
imwrite(f,’filename.jpg’,'quality’,q) 0<=q<=100
0 Comments.