文档详情

Matlab读取图片代码.docx

发布:2017-06-05约1.19千字共2页下载文档
文本预览下载声明
1.读取某盘的图片 比如你要读取E盘里的png 格式的图片 p1=dir(E:\*.p*);%自动读取文件夹里的png 所有图片 *.p*是寻找E盘下后缀第一个字为p的 你当然可以改 如果你的是jpg就改为p1=dir(E:\*.j*);。 [r1 c1]=size(p1); for i=1:r1 ImgN=p1(i).name;%图片的名字 ImgN=strcat(E:\,ImgN);%读取图片 Img=(imread(ImgN)); if size(Img,3) == 3 %如果维数为三 则RGB图像转化为灰度图像 Img = rgb2gray(Img); else Img = Img; end %%加上处理的代码 end 2.GUI在坐标系中读取图片 %按键下写如下代码 %打开文件对话框 [filename,pathname]=uigetfile({ ... *.*,All Files(*.*);},... 选择文件); % if isequal([filename,pathname],[0,0]) return else %读取图片 pic = fullfile(pathname,filename); b = imread(pic); imshow(b); end 我在一个E盘根目录test文件夹中有1200幅图像,图像名依次是1,2,3,……1200,格式为bmp格式,E盘根目录下有幅背景图像I,格式也是bmp。第一步:读取test中所有的图像然后转化成double型。第二步:读取背景图像I,再转换成double型。第三步:将1200幅double型的图像分别点除double型的图像I得到1200幅无背景图像。第四步:我1200幅无背景图像进行剪切处理,剪切范围是[81 0 1043 1300],得到新的1200幅图像。第五步,将剪切后的1200幅图像保存到F盘下的test文件夹中,命名依次为1,2,3,……1200,格式为bmp。 小弟不懂得地方就是如何批量读取,如何用for循环实现double型转换、除法和剪切。 由于小弟刚学习matlab,还请诸位高人指点。万分感谢。 Blackground=imread(E:\XXX.bmp); Blackground=double(Blackground); for i=1:1200 Na=[F:\test\,num2str(i),.bmp]; A=imread(Na); A=double(A); A=A./Blackground; imwrite(A,Na); end
显示全部
相似文档